All Projects → BCsl → Gallerylayoutmanager

BCsl / Gallerylayoutmanager

Licence: apache-2.0
New way to implements ViewPager/Gallery in Android with RecycleView

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Gallerylayoutmanager

Cardslideview
一行代码实现ViewPager卡片效果,比ViewPager2更强大,底层同样是RecyclerView
Stars: ✭ 301 (-55.99%)
Mutual labels:  recyclerview, gallery, viewpager
Discretescrollview
A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.
Stars: ✭ 5,533 (+708.92%)
Mutual labels:  layoutmanager, recyclerview, viewpager
SlideView
🔖 Card RecycleViewManager, to make your interface cool.Use recyclerView to add cool effects to the view.
Stars: ✭ 16 (-97.66%)
Mutual labels:  recyclerview, viewpager, layoutmanager
Banner
Android Viewpager rotation control, application guide page controls, support vertical, horizontal cycle scrolling, extended from view support animation, indicator extension and so on;Android viewpager轮播图控件、app引导页控件,支持垂直、水平循环滚动,扩展自viewpager 支持动画,指示器扩展等。
Stars: ✭ 96 (-85.96%)
Mutual labels:  recyclerview, gallery, viewpager
SpannedGridLayoutManager
Android RecyclerView.LayoutManager that resizes and reorders views based on SpanSize
Stars: ✭ 522 (-23.68%)
Mutual labels:  recyclerview, layoutmanager
Antonio
Android library for the adapter view (RecyclerView, ViewPager, ViewPager2)
Stars: ✭ 89 (-86.99%)
Mutual labels:  recyclerview, viewpager
Awesome Recyclerview Layoutmanager
RecyclerView-LayoutManager Resources
Stars: ✭ 581 (-15.06%)
Mutual labels:  layoutmanager, recyclerview
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
Stars: ✭ 3,138 (+358.77%)
Mutual labels:  layoutmanager, recyclerview
CardLayoutManager
A custom layoutManager providing a Tinder-like cards effect.
Stars: ✭ 37 (-94.59%)
Mutual labels:  recyclerview, layoutmanager
Transformerslayout
🔥 App金刚区导航菜单,类似淘宝、QQ音乐等APP导航,方格布局横向多行滑动翻页带滚动条
Stars: ✭ 258 (-62.28%)
Mutual labels:  recyclerview, viewpager
Horizontalpicker
A simple, customizable and easy to use picker where centre view is scaled up
Stars: ✭ 337 (-50.73%)
Mutual labels:  layoutmanager, recyclerview
Stackcardlayoutmanager
Stars: ✭ 376 (-45.03%)
Mutual labels:  layoutmanager, recyclerview
InfiniteScrollRecyclerView
Enables the RecyclerView to Auto scroll for indefinite time.
Stars: ✭ 49 (-92.84%)
Mutual labels:  recyclerview, layoutmanager
epg magic carousel
Awesome RecyclerView with custom LayoutManager
Stars: ✭ 98 (-85.67%)
Mutual labels:  recyclerview, layoutmanager
Corbind
Kotlin Coroutines binding APIs for Android UI widgets from the platform and support libraries
Stars: ✭ 357 (-47.81%)
Mutual labels:  recyclerview, viewpager
Adapter
A quick adapter library for RecyclerView, GridView, ListView, ViewPager, Spinner
Stars: ✭ 376 (-45.03%)
Mutual labels:  recyclerview, viewpager
Recyclerview Gallery
Recyclerview-Gallery:This library shows you a gallery using RecyclerView.
Stars: ✭ 420 (-38.6%)
Mutual labels:  recyclerview, gallery
RollingLayoutManager
vrgsoft.net
Stars: ✭ 57 (-91.67%)
Mutual labels:  recyclerview, layoutmanager
Adsorbent
Adsorbent of RecyclerView , RecyclerView吸顶
Stars: ✭ 25 (-96.35%)
Mutual labels:  recyclerview, viewpager
Stacklayoutmanager
customized layoutmanager,let item pile up like stackview/类似最美有物卡片堆叠效果
Stars: ✭ 343 (-49.85%)
Mutual labels:  layoutmanager, recyclerview

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

compile 'github.hellocsl:GalleryLayoutManager:{lastest-release-version}'

Be care :if you have used RecyclerView in your project , maybe your should use this library as below and your recyclerview-v7 requires API level 24.2.0 or higher

compile ('github.hellocsl:GalleryLayoutManager:{lastest-release-version}'){
    exclude group: 'com.android.support', module:'recyclerview-v7'
}

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

layoutManager2.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.0f);
        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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].