71

GitHub - renjianan/RecyclerBanner: 用RecyclerView实现无限轮播图,有普通版和3d版

 6 years ago
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

效果如下图:

banner.gif

设置一个带数据的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
    • www.scarsu.com 2 years ago
    • Cache

    前端 | 纯CSS实现无限循环轮播

    前端 | 纯CSS实现无限循环轮播无JS代码实现无限循环轮播、鼠标悬浮时暂停动画、鼠标移出时继续动画2022-04-22 | 10技术 | 前端 | 156 字 | 1 分钟 | 阅读量 20

  • 4
    • scarsu.com 8 months ago
    • Cache

    纯CSS实现无限循环轮播

    纯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
    • fed.renren.com 6 years ago
    • Cache

    Vue实现内部组件轮播切换效果

    Vue实现内部组件轮播切换效果

  • 20
    • www.cnblogs.com 3 years ago
    • Cache

    Android实现轮播图

    首先总结一下大体思路就是通过一个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