必威体育Betway必威体育官网
当前位置:首页 > IT技术

Banner图的实现

时间:2019-08-22 02:12:10来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

banner图片

今天带给大家一个比较实用的轮播图框架banner 

1.导入依赖

'com.youth.banner:banner:1.4.9'

2.添加权限

<uses-permission Android:name="android.permission.INTERNET" />//联网 

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />//读取外置存储卡

3.添加布局

<com.youth.banner.Banner
    xmlns:APP="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/banner" 
    android:layout_width="match_parent" 
     android:layout_height="150dp" />

4.在Activity 中编写代码,相关代码含义已经全部添加注释

public class MyBanner extends AppCompatActivity implements OnBannerListener {
    private Banner banner;
    private ArrayList<String> list_path;
    private ArrayList<String> list_title;

 @Override
 protected void onCreate(Bundle savedinstanceState) {
    super.onCreate(savedInstanceState);
    setcontentView(R.layout.activity_my_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);
        }
    }
}

最后记得在gradle.properties加上下面代码,不然在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.** { *; }

相关阅读

高效Java实现敏感词过滤算法 SensitiveWord()附带Demo

Demo 地址:https://download.csdn.net/download/weixin_36040318/10427526 SensitiveWord-匹配度高,速度快 package net.jeeshop.we

通过css实现对勾(√)和叉号(×)

通过css实现对勾(√)和叉号(×)第一种方式: HTML: <span class="status correct"></span> <span class="status incorrect"></span> C

程序员如何在50岁前实现财务自由?

1. 人生舞台启示 美国科幻小说大师阿西莫夫,写过一本回忆录《人生舞台》。他在里面提到,成名后,他的收入一年比一年高,完稿时的1990年

通过VPN实现远程连接

1.在桌面右下角处点击网络连接,打开“网络和共享中心”; 2.在弹出的“网络和共享中心”界面,点击“设置新连接或网络”,如下图: 3.在

java反射之Method的invoke方法实现

在框架中经常会会用到method.invoke()方法,用来执行某个的对象的目标方法。以前写代码用到反射时,总是获取先获取Method,然后传入对

分享到:

栏目导航

推荐阅读

热门阅读