Xbanner的基本使用

依赖:

implementation 'com.xhb:xbanner:1.2.2'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'jp.wasabeef:glide-transformations:1.0.6'

权限:

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

控件:

<com.stx.xhb.xbanner.XBanner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="200.0dip"
    app:AutoPlayTime="3000"
    app:pointsContainerBackground="#44AAAAAA"
    app:pointsPosition="RIGHT"
    app:tipTextColor="#FFFFFFFF"
    app:tipTextSize="16.0sp" />

java:

XBanner banner;
ArrayList images;
ArrayList titles;

banner = (XBanner) findViewById(R.id.banner);
// 初始化XBanner中展示的数据
images = new ArrayList<>();
titles = new ArrayList<>();
images.add("https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=e9449e382d9759ee4a5067cd8ac0242b/94cad1c8a786c9179e80a80cc23d70cf3bc75700.jpg");
titles.add("这是第1张图片");
images.add("http://img.ivsky.com/img/bizhi/co/201711/27/nissan_vmotion2_0-001.jpg");
titles.add("这是第2张图片");
images.add("http://img.ivsky.com/img/tupian/co/201709/18/zise_huaduo.jpg");
titles.add("这是第3张图片");
images.add("http://img.ivsky.com/img/tupian/co/201709/16/dahailidehaiguitupian.jpg");
titles.add("这是第4张图片");

// 为XBanner绑定数据
banner.setData(images, titles);
// XBanner适配数据
banner.setmAdapter(new XBanner.XBannerAdapter() {
    @Override
    public void loadBanner(XBanner banner, View view, int position) {
        Glide.with(MainActivity.this).load(images.get(position)).into((ImageView) view);
    }
});

XBanner的页面切换特效:

banner.setPageTransformer(Transformer.Default);//横向移动

banner.setPageTransformer(Transformer.Alpha); //渐变,效果不明显

banner.setPageTransformer(Transformer.Rotate);  //单页旋转

banner.setPageTransformer(Transformer.Cube);    //立体旋转

banner.setPageTransformer(Transformer.Flip);  // 反转效果

banner.setPageTransformer(Transformer.Accordion); //三角换页

banner.setPageTransformer(Transformer.ZoomFade); // 缩小本页,同时放大另一页

banner.setPageTransformer(Transformer.ZoomCenter); //本页缩小一点,另一页就放大

banner.setPageTransformer(Transformer.ZoomStack); // 本页和下页同事缩小和放大

banner.setPageTransformer(Transformer.Stack);  //本页和下页同时左移

banner.setPageTransformer(Transformer.Depth);  //本页左移,下页从后面出来
banner.setPageTransformer(Transformer.Zoom);  //本页刚左移,下页就在后面


// 设置XBanner页面切换的时间,即动画时长
banner.setPageChangeDuration(1000);

//xbanner的点击事件
banner.setOnItemClickListener(new XBanner.OnItemClickListener() {
    @Override
    public void onItemClick(XBanner banner, int position) {
        Toast.makeText(MainActivity.this, "点击了第" + (position + 1) + "张图片", Toast.LENGTH_SHORT).show();
    }
});

//把xbanner放在生命周期中,随便放
@Override
protected void onResume() {
    super.onResume();
    banner.startAutoPlay();
}

@Override
protected void onStop() {
    super.onStop();
    banner.stopAutoPlay();
}

你可能感兴趣的:(Xbanner的基本使用)