Android XBanner

1导入依赖

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

2添加权限

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

3.布局文件

<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" />

4.mainactivity中

XBanner banner;
ArrayList<String> images;
ArrayList<String> titles;
 

banner = (XBanner) findViewById(R.id.banner); // 初始化XBanner中展示的数据 images = new ArrayList<>(); titles = new ArrayList<>();

//从网络获取数据 获取网络的String类型的url
 
 
   // 为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();
}

猜你喜欢

转载自blog.csdn.net/as89751/article/details/80968251
今日推荐