Android Banner 现实自动轮播 ,小圆点 标题

Android Banner 现实自动轮播 ,小圆点 标题

Android Banner 现实自动轮播 ,小圆点 标题

Android Banner 现实自动轮播 ,小圆点 标题

效果图如上,这里用到的是youth5201314 的banner 更具体可以前往链接查看

添加banner依赖:

    implementation 'com.youth.banner:banner:1.4.9'
    implementation 'com.github.bumptech.glide:glide:3.7.0'

对应布局:

<com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/dp_180" />

下面来看具体的代码实现:

public class MainActivity extends AppCompatActivity implements OnBannerListener {
    Banner banner;

    private ArrayList<String> list_path;//这里需要注意 标题和图片使用ArrayList的数组接收

    private ArrayList<String> list_title;//需要把数据遍历保存在string数组中

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        banner = findViewById(R.id.banner);
        
        initView();
    }


    private void initView() {

        banner = (Banner) findViewById(R.id.banner);

        //放图片地址的集合

        list_path = new ArrayList<>();

        //放标题的集合
        list_title = new ArrayList<>();
        
        list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");
        list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg");
        list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg");
        list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");

        list_title.add("好好学习");
        list_title.add("天天向上");
        list_title.add("热爱劳动");
        list_title.add("不搞对象");

        //设置内置样式,共有六种可以点入方法内逐一体验使用。
        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);

        //设置图片加载器,图片加载器在下方
        banner.setImageLoader(new MyLoader());

        //设置图片网址或地址的集合
        banner.setImages(list_path);

        //设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验
        banner.setBannerAnimation(Transformer.Default);

        //设置轮播图的标题集合
        banner.setBannerTitles(list_title);

        //设置轮播间隔时间
        banner.setDelayTime(3000);

        //设置是否为自动轮播,默认是“是”。
        banner.isAutoPlay(true);

        //设置指示器的位置,小点点,左中右。
        banner.setIndicatorGravity(BannerConfig.CENTER)

        //以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。
                .setOnBannerListener(this)

        //必须最后调用的方法,启动轮播图。
                .start();

    }

    //轮播图的监听方法  设置点击事件
    @Override
    public void OnBannerClick(int position) {
        Log.i("tag", "你点了第" + position + "张轮播图");
    }

    //自定义的图片加载器
    private class MyLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            Glide.with(context).load((String) path).into(imageView);
        }
    }

还要加代码混淆,防止在release版本出现异常(正式环境报错)

# glide 的混淆代码
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
        public *;
    }
# banner 的混淆代码
-keep class com.youth.banner.** {*;}

书到用时方恨少,纸上得来终觉浅。共勉。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114968.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FutureTask 深度解析

    FutureTask 深度解析FutureTask深度解析

    2022年6月15日
    26
  • xshell6下载教程_下载软件怎么解压安装

    xshell6下载教程_下载软件怎么解压安装还饱受xhell产品各种到期侵害的同志们,可以下载使用这版,本人已经用了将近一年,不存在到期的问题。当然,如果你的机子之前就用了Xshell6且已经过期了。那就不用试了,基本也是没戏o_O,换别的版本的激活成功教程版吧~链接:https://pan.baidu.com/s/1z5wRnghMMXJBylXyH7IQRg提取码:08yd…

    2022年10月9日
    0
  • maven本地仓库默认路径_maven本地仓库

    maven本地仓库默认路径_maven本地仓库Maven配置本地仓库的路径1.打开maven安装路径\conf\settings.xml2.在50行左右有下面,默认位置在c盘用户下的/.m2/repository中<!–localRepository|Thepathtothelocalrepositorymavenwillusetostoreartifacts.||Defa…

    2022年9月23日
    0
  • Opencv学习笔记(九)光流法

    Opencv学习笔记(九)光流法原创文章,转贴请注明:http://blog.csdn.net/crzy_sparrow/article/details/7407604   本文目录:     一.基于特征点的目标跟踪的一般方法     二.光流法     三.opencv中的光流法函数    四.用类封装基于光流法的目标跟踪方法     五.完整代码     六.参考文献

    2022年7月23日
    9
  • MATLAB 处理大数据

    MATLAB 处理大数据如何处理大规模的快数据集大数据指的是创建的数据和供分析的数据的数量与速率迅速增加。此趋势的主要驱动因素是不断增加的信息数字化。采集设备的数量和类型以及其他数据生成机制无时无刻不在增加。大数据源包括来自仪表传感器、卫星和医疗图像的流数据,来自安全摄像机的视频以及派生自金融市场和零售运营的数据。上述来源的大数据集可以包含千兆字节或百万兆字节的数据,并且每天以兆字节或千兆字节的级别增长。

    2022年5月23日
    137
  • Matlab基本函数 length函数

    Matlab基本函数 length函数分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、length函数:

    2022年6月9日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号