Banner

Banner

Banner

//首先先导入banner的依赖

implementation 'com.youth.banner:banner:1.4.10'

然后看下xml布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    //创建Banner控件
    <com.youth.banner.Banner
        android:id="@+id/ban"
        android:layout_weight="2"
        android:layout_height="0dp"
        android:layout_width="match_parent"/>
    <TextView
        android:layout_weight="4"
        android:layout_width="match_parent"
        android:layout_height="0dp" />
</LinearLayout>

看Mainactivity

public class MainActivity extends AppCompatActivity {
    //声明一个banner对象
    Banner banner;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //与布局中banner-id绑定
        banner=findViewById(R.id.ban);
        //创建图片id集合
        List<Integer> images=new ArrayList<>();
        //创建title集合
        List<String> titles=new ArrayList<>();
        //添加图片id
        images.add(R.mipmap.c1);
        images.add(R.mipmap.c2);
        images.add(R.mipmap.c3);
        images.add(R.mipmap.c4);
        images.add(R.mipmap.c5);
        images.add(R.mipmap.c6);
        //添加title数据
        titles.add("小王子");
        titles.add("小蜜蜂");
        titles.add("负责");
        titles.add("自强");
        titles.add("认真");
        titles.add("努力");
        
        //设置标题集合
        banner.setBannerTitles(titles);
        //设置图片集合
        banner.setImages(images);
        //设置图片加载器
        banner.setImageLoader(new ImageLoadBanner());
        //设置轮播时间
        banner.setDelayTime(2000);
        //设置自动轮播,默认为true
        banner.isAutoPlay(true);
        //设置banner动画效果(此效果是翻书效果)
        banner.setBannerAnimation(Transformer.DepthPage);
        //设置banner样式
        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
        //开启banner
        banner.start();
    }
}
//自定图片加载器
//Imageloader源码中有创建好的Imageview 
class ImageLoadBanner extends ImageLoader{

    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
    //给Imageview设置图片来源
        imageView.setImageResource(Integer.parseInt(path.toString()));


    }
}

效果

Banner//图片和标题混排

上一篇:Java代码加密与反编译(二):用加密算法DES修改classLoader实现对.class文件加密


下一篇:Spring Boot 2 尝鲜-动态 Banner