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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shell学习教程(超详细完整)[通俗易懂]

    shell学习教程(超详细完整)[通俗易懂]为了方便以后工作和复习,记录一下学习shell脚本的笔记,看这篇文章需要对linux系统熟悉文章目录一、什么是shell?为什么要学习和使用shell?二、shell的分类shell脚本的执行三、shell变量1.变量的命名规则:2.变量的分类:2.1用户自定义变量:2.1.1变量定义2.1.2变量调用2.1.3变量查看2.1.4变量删除2.2环境变量:1)环境变量设置2)环境变量查询和删除3)系统默认环境变量2.3位置参数变量:2.4预定义变量:3.只读变量:4.接受键盘输入:四、shell运算符1.

    2022年8月18日
    6
  • apt一键下载所有依赖的包_apt自动安装依赖包

    apt一键下载所有依赖的包_apt自动安装依赖包这几天从书本上见识到了aptitude包管理工具的魅力,果断想在自己的UbuntuKylin16.10上玩一玩。没想到遇到了很多的问题~~~apt源更新,编辑apt源配置文件 /etc/apt/sources.list发现vi使用起来好费劲,只能用delete删除 而上下键和backspace键都没法正常使用。还有看启动栏在左侧Left 有点不习惯,也做了设置:按下Ctrl+Al…

    2025年7月1日
    7
  • Coordinator Layout使用

    Coordinator Layout使用

    2021年6月17日
    119
  • iphone上的设备管理去哪里了_设备管理在哪里

    iphone上的设备管理去哪里了_设备管理在哪里正常是没有设备管理的选项的,当你的iPhone上有未信任程序(已经安装好的才行,正在下载/安装的都不算)时才会有这个选项设置>通用>设备管理

    2022年8月1日
    5
  • jenkins教程菜鸟_Jenkins教程:在Windows平台安装Jenkins「建议收藏」

    jenkins教程菜鸟_Jenkins教程:在Windows平台安装Jenkins「建议收藏」一、什么是JenkinsJenkins是一个开源软件项目,是基于Java开发的。我们可以利用Jenkins来实现持续集成的功能。因为Jenkins是基于Java开发的,所以在安装Jenkins之前首先需要安装Java的JDK。二、安装Jenkins在Windows平台上面安装Jenkins共有两种方式,下面分别介绍这两种方式。1、使用msi安装Jenkins安装Jenkins之前首先去Jenkin…

    2022年5月14日
    64
  • 宽字节注入是什么_sqlmap宽字节注入

    宽字节注入是什么_sqlmap宽字节注入在一个CTF练习的网站,看到了一个宽字节注入的题目,我是一个web萌新,没什么经验,一开始也没有想到是宽字节,还是一位朋友给我提到的,让我猛然大悟,咳咳。。。做一些总结。练习题目网站地址:http://ctf.bugku.com。一、了解一下宽字节注入原理前提:1、我们都知道,在防御SQL注入的时候,大多说都是使用的过滤特殊字符,或者使用函数将特殊字符转化为实体,就是说在字符转义,添加‘\’。这里…

    2022年10月14日
    4

发表回复

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

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