ckrgithub / Pagerecyclerview
Licence: apache-2.0
PageRecyclerView achieves page turning function and unlimited carousel
Stars: ✭ 241
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Pagerecyclerview
Discretescrollview
A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.
Stars: ✭ 5,533 (+2195.85%)
Mutual labels: recyclerview, carousel
CarouselGifViewer
Efficiently display a list of GIFs in a carousel (RecyclerView).
Stars: ✭ 33 (-86.31%)
Mutual labels: recyclerview, carousel
SRCarouselView
A carousel view that only uses two UIImageView to achieve infinite carousel.
Stars: ✭ 56 (-76.76%)
Mutual labels: carousel, banner
Carouselrecyclerview
Carousel Recyclerview let's you create carousel layout with the power of recyclerview by creating custom layout manager.
Stars: ✭ 107 (-55.6%)
Mutual labels: recyclerview, carousel
Cardslideview
一行代码实现ViewPager卡片效果,比ViewPager2更强大,底层同样是RecyclerView
Stars: ✭ 301 (+24.9%)
Mutual labels: recyclerview, banner
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 (-60.17%)
Mutual labels: recyclerview, banner
Rxbanner
一个灵活可制定的基于 Recyclerview 的轮播图控件,支持自动轮播,无限循环。 同时可关闭无限循环变成 引导页 ,带有引导完成接口回调
Stars: ✭ 77 (-68.05%)
Mutual labels: recyclerview, banner
Recyclerbanner
用RecyclerView实现无限轮播图,有普通版和3d版
Stars: ✭ 1,600 (+563.9%)
Mutual labels: recyclerview, banner
Admobadapter
It wraps your Adapter to display Admob native ads and banners in a ListView/RecyclerView data set. It based on the Yahoo fetchr project https://github.com/yahoo/fetchr
Stars: ✭ 224 (-7.05%)
Mutual labels: recyclerview, banner
Rvparallaximageview
RvParallaxImageView用在recyclerview的item中,它可以随着recyclerview进行视差效果的移动,进而可以在一个小区域的item中展示一个完整的图片。适用于在recyclerview的item中显示大的广告图。
Stars: ✭ 224 (-7.05%)
Mutual labels: recyclerview
Mjolnirrecyclerview
[DEPRECATED] This library is no longer maintained and it will not receive any more updates.
Stars: ✭ 233 (-3.32%)
Mutual labels: recyclerview
Gridpagersnaphelper
A powerful tools to impl grid paging layout by RecyclerView
Stars: ✭ 228 (-5.39%)
Mutual labels: recyclerview
You Dont Need Javascript
CSS is powerful, you can do a lot of things without JS.
Stars: ✭ 16,514 (+6752.28%)
Mutual labels: carousel
Pageindicator
An Instagram like page indicator compatible with RecyclerView and ViewPager.
Stars: ✭ 236 (-2.07%)
Mutual labels: recyclerview
Keen Slider
The HTML touch slider carousel with the most native feeling
Stars: ✭ 3,097 (+1185.06%)
Mutual labels: carousel
PageRecyclerView
PageRecyclerView achieves page turning function and unlimited carousel 中文文档。
Effect
carousel | horizontal-grid-paging | add-data |
---|---|---|
remove-data | vertical-linear-paging |
---|---|
Demo
Dependencies
add dependencies:
dependencies {
implementation 'ckrjfrog.Page:PageView:1.2.12'//gradle plugin 3.0(inclusive) above used
//compile 'ckrjfrog.Page:PageView:1.2.12'//gradle plugin 3.0 below used
}
Function And Use
1.layout reference
<com.ckr.pageview.view.PageView
android:id="@+id/pageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:autoplay="true"
app:loop="true"
app:autosize="false"
app:loop_interval="3000"
app:hide_indicator="false"
app:indicator_container_background="#fff"
app:indicator_container_height="@dimen/viewpager_indicator_container_height"
app:indicator_group_alignment="center"
app:indicator_margin="@dimen/viewpager_indicator_margin"
app:layout_flag="linear"
app:orientation="horizontal"
app:overlap_layout="false"
app:clipToPadding="false"
app:pagePadding="0dp"
app:page_background="#fff"
app:page_column="one"
app:page_row="one"
app:selected_indicator_diameter="@dimen/viewpager_selected_indicator_diameter"
app:selected_indicator_drawable="@drawable/shape_point_selected"
app:unselected_indicator_diameter="@dimen/viewpager_unselected_indicator_diameter"
app:unselected_indicator_drawable="@drawable/shape_point_unselected"/>
2.attributes description
attributes | description | type | defaults |
---|---|---|---|
loop | start a carousel(valid when there is only one item per page) | boolean | false |
loop_interval | loop interval | int | 3000 |
autoplay | automatically scroll to the next page | boolean | false |
autosize | automatically adjust the width or height of item(valid in the grid layout) | boolean | false |
hide_indicator | hide indicator | boolean | false |
indicator_container_background | the background of indicator parent container | drawable | null |
indicator_container_height | indicator parent container height(valid in the vertical orientation) | int | 90 |
indicator_contianer_width | indicator parent container width(valid in the horizontal orientation) | int | 90 |
indicator_group_alignment | the alignment of indicator group(eg: left,top,center) | int | 0x11(center) |
indicator_group_marginLeft | the marginLeft of indicator group | int | 0 |
indicator_group_marginTop | the marginTop of indicator group | int | 0 |
indicator_group_marginRight | the marginRight of indicator group | int | 0 |
indicator_group_marginBottom | the marginBottom of indicator group | int | 0 |
indicator_margin | indicator spacing | boolean | false |
clipToPadding | the clipTopadding of recyclerView | int | 15 |
pagePadding | recyclerView.setPadding(pagePadding,0,pagePading,0) | int | 15 |
layout_flag | mark linear layout or grid layout | int | 0(linear layout) |
orientation | layout orientation | int | 0(horizontal) |
overlap_layout | Whether the indicator overlaps the page | boolean | false |
page_column | the number of columns per page | int | 1 |
page_row | the number of rows per page | int | 1 |
selected_indicator_color | indicator color for the current page | int | Color.RED |
selected_indicator_diameter | indicator diameter for the current page | int | 15 |
selected_indicator_drawable | indicator drawable for the current page(priority is higher than color) | drawable | null |
unselected_indicator_color | indicator color for the non-current page | int | Color.BLACK |
unselected_indicator_diameter | indicator diameter for the non-current page | int | 15 |
selected_indicator_drawable | indicator drawable for the non-current page(priority is higher than color) | drawable | null |
page_background | the background of the current page | drawable | null |
enable_touch_scroll | Whether to allow touch scrolling | boolean | true |
max_scroll_duration | Maximum scrolling time of the page | int | 600 |
min_scroll_duration | Minimum scrolling time of the page | int | 0 |
sub_loop_interval | When the index is adjusted, loop interval | int | 100 |
3.code to use
mainAdapter = new MainAdapter(getContext(), itemLayoutId);//MainAdapter extend BasePageAdapter<T,ViewHolder>
pageView.setAdapter(mainAdapter);
pageView.updateAll(items);
Thanks
My Other Project
Version Tracking
-
1.2.0-release
- add: the settings of autoplay
- add: the animation of scrolling to the page
-
1.1.1-release
- repair: When fast sliding,the indicators don't update in time
- repair: the method of setCurrentItem(1,false) doesn't work
- add: clipToPadding and pagePadding Settings
-
1.1.0-release
- add: the indicator container alignment, margin Settings, background Settings, and overlap layout styles
- other: optimize the code
-
1.0.9-release
- repair: When the carousel is broadcast, the data source changes to cause confusion in the indicator point.
Community
Contact Me: 862950533
Or scan the QR code below:
License
Copyright 2018 ckrgithub
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].