GitHub - renjianan/RecyclerBanner: 用RecyclerView实现无限轮播图,有普通版和3d版
source link: https://github.com/renjianan/RecyclerBanner
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
RecyclerBanner
RecyclerBanner是一个利用RecycleView实现轮播图的自定义控件。
这里有相关博客介绍!。
属性名称 | 方法 | 意义 | 类型 | 默认值 |
---|---|---|---|---|
app:showIndicator | setShowIndicator(boolean showIndicator) | 是否显示指示器 | boolean | true |
app:interval | setAutoPlayDuration(int autoPlayDuration) | 轮播时间间隔 | int | 4000 |
app:isAutoPlaying | setAutoPlaying(boolean isAutoPlaying) | 是否开启自动轮播 | boolean | true |
app:orientation | setOrientation(int orientation) | 轮播图方向 | enum | horizontal |
app:itemSpace | setItemSpace(int itemSpace) | 图片间距 | int | 20 |
app:centerScale | setCenterScale(float centerScale) | 当前图片缩放比列 | float | 1.2 |
app:moveSpeed | setMoveSpeed(float moveSpeed) | 滚动速度,越大越快 | float | 1.0 |
效果如下图:
设置一个带数据的RecyclerView.Adapter
即可。
<com.example.library.banner.BannerLayout
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="200dp"
app:autoPlaying="true"
app:centerScale="1.3"
app:itemSpace="20"
app:moveSpeed="1.8"/>
BannerLayout recyclerBanner = findViewById(R.id.recycler);
bannerVertical = findViewById(R.id.recycler_ver);
List<String> list = new ArrayList<>();
list.add("http://img0.imgtn.bdimg.com/it/u=1352823040,1166166164&fm=27&gp=0.jpg");
list.add("http://img3.imgtn.bdimg.com/it/u=2293177440,3125900197&fm=27&gp=0.jpg");
list.add("http://img3.imgtn.bdimg.com/it/u=3967183915,4078698000&fm=27&gp=0.jpg");
list.add("http://img0.imgtn.bdimg.com/it/u=3184221534,2238244948&fm=27&gp=0.jpg");
list.add("http://img4.imgtn.bdimg.com/it/u=1794621527,1964098559&fm=27&gp=0.jpg");
list.add("http://img4.imgtn.bdimg.com/it/u=1243617734,335916716&fm=27&gp=0.jpg");
WebBannerAdapter webBannerAdapter=new WebBannerAdapter(this,list);
webBannerAdapter.setOnBannerItemClickListener(new BannerLayout.OnBannerItemClickListener() {
@Override
public void onItemClick(int position) {
Toast.makeText(MainActivity.this, "点击了第 " + position+" 项", Toast.LENGTH_SHORT).show();
}
});
recyclerBanner.setAdapter(webBannerAdapter);
License
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.
ViewPagerLayoutManager 使用了部分代码
Recommend
-
65
同学们在写需求的时候肯定会时常用到UIScrollView。而说到UIScrollView,大家最先想到的肯定就是它上面的无限轮播功能。苹果在UIScrollView上并没有提供相应的方法让大家实现轮播,所以就需要通过代码进行处理来实现。先上图
-
14
去年8月份,我在Github开源了一个无限循环的轮播图库— BannerViewPager (以下简称BVP)。时至今日,一年多的时间过去了,BVP在大家的支持下已经在GitHub上收获了1.9k的Star。...
-
5
前端 | 纯CSS实现无限循环轮播无JS代码实现无限循环轮播、鼠标悬浮时暂停动画、鼠标移出时继续动画2022-04-22 | 10技术 | 前端 | 156 字 | 1 分钟 | 阅读量 20
-
4
纯CSS实现无限循环轮播无JS代码实现无限循环轮播、鼠标悬浮时暂停动画、鼠标移出时继续动画 2022/4/23 1...
-
97
用RecyclerView打造一个轮播图(进阶版) - 掘金 用RecyclerView打造一个轮播图(进阶版) 2017年11月22日 10:02 ...
-
59
Page not found · GitHub · GitHub Skip to content...
-
9
iOS下自己动手造无限循环图片轮播 浏览:798次 出处信息 代码示...
-
44
背景 项目中要实现横向列表的无限循环滚动,自然而然想到了RecyclerView,但我们常用的RecyclerView是不支持无限循环滚动的,所以就需要一些办法让它能够无限循环。 方案选择 方案1 对Adapter进行修改 网上大部分博客的解决方案都是这种方案
-
59
Vue实现内部组件轮播切换效果
-
20
首先总结一下大体思路就是通过一个ViewPager来进行无限的自动滑动来达到我们想要的实现的轮播图效果 首先先写UI <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical"...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK