Voltar ao ranking

BCsl/GalleryLayoutManager

Java

New way to implements ViewPager/Gallery in Android with RecycleView

layoutmanagerrecyclerviewgalleryviewpager
Crescimento de estrelas
Estrelas
1k
Forks
144
Crescimento semanal
Issues
24
5001k
jan. de 2023mar. de 2024mai. de 2025jul. de 2026
ArtefatosMavengit clone https://github.com/BCsl/GalleryLayoutManager.git
README

GalleryLayoutManager

中文

A custom LayoutManager to build a Gallery or a ViewPager like RecyclerView that shows items in a center-locked and support both HORIZONTAL and VERTICAL scroll.And View Recycle Machine is also supported.

Screenshots

ViewPager

Demo

Usage

1、Build

Gradle

implementation 'github.hellocsl:GalleryLayoutManager:{latest-release-version}'

2、In your code

Basis Usage

Use GalleryLayoutManager#attach(RecycleView recycleView) to setup GalleryLayoutManager for your RecycleView instead of RecycleView#setLayoutManager(LayoutManager manager)

GalleryLayoutManager layoutManager = new GalleryLayoutManager(GalleryLayoutManager.HORIZONTAL);
//layoutManager.attach(mPagerRecycleView);  // default selected position is 0
layoutManager.attach(mPagerRecycleView, 30);

//...
//setup adapter for your RecycleView
mPagerRecycleView.setAdapter(imageAdapter);

Listen to selection change

layoutManager.setCallbackInFling(true);//should receive callback when flinging, default is false
layoutManager.setOnItemSelectedListener(new GalleryLayoutManager.OnItemSelectedListener() {
    @Override
    public void onItemSelected(RecyclerView recyclerView, View item, int position) {
        //.....
    }
});

Apply ItemTransformer just like ViewPager

Implements your ItemTransformer

public class ScaleTransformer implements GalleryLayoutManager.ItemTransformer {

    @Override
    public void transformItem(GalleryLayoutManager layoutManager, View item, float fraction) {
        item.setPivotX(item.getWidth() / 2.F);
        item.setPivotY(item.getHeight() / 2.F);
        float scale = 1 - 0.3F * Math.abs(fraction);
        item.setScaleX(scale);
        item.setScaleY(scale);
    }
}
// Apply ItemTransformer just like ViewPager
layoutManager.setItemTransformer(new ScaleTransformer());

License

Copyright [2017] [Hello Csl]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

<http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Repositórios relacionados
alibaba/vlayout

Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation when grid, list and other layouts in the same recyclerview.

JavaMavenMIT Licenseandroidrecyclerview-multi-type
tangram.pingguohe.net
10.7k1.8k
yarolegovich/DiscreteScrollView

A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.

JavaMavenandroidview
5.8k784
Oleg-Beloy/ChipsLayoutManager

ANDROID. ChipsLayoutManager (SpanLayoutManager, FlowLayoutManager). A custom layout manager for RecyclerView which mimicric TextView span behaviour, flow layouts behaviour with support of amazing recyclerView features

JavaMavenApache License 2.0androidrecyclerview
3.3k368
BelooS/ChipsLayoutManager

ANDROID. ChipsLayoutManager (SpanLayoutManager, FlowLayoutManager). A custom layout manager for RecyclerView which mimicric TextView span behaviour, flow layouts behaviour with support of amazing recyclerView features

JavaMavenApache License 2.0androidrecyclerview
3.3k365
mcxtzhang/ZLayoutManager

Some custom LayoutManager .Such as SwipeCard、FLowLayout。一些自定义的LayoutManager,仿探探、人人影视 炫动滑动 卡片层叠 和流式布局等。

JavaMavenlayoutmanagercard
blog.csdn.net/zxt0601/article/details/53730908
2.5k390
yuyakaido/CardStackView

📱Tinder like swipeable card view for Android

JavaMavenApache License 2.0androidtinder
2.5k467
yuqirong/CardSwipeLayout

Use RecyclerView to achieve card swipe layout , like Tantan . (模仿探探卡片滑动效果的布局)

JavaMavenMIT Licenseandroidrecyclerview
1.3k185
jiang111/Awesome-RecyclerView-LayoutManager

RecyclerView-LayoutManager Resources

layoutmanagerrecyclerview
1.1k131