一个简洁方便的轮播图 CustomBannerView。
步骤:
1、创建一个类去继承RelativeLayout。(文件在最下边)
2、在styles.xml中添加自定义轮播的样式。(样式在最下边)
用法:
在布局文件中直接引用:
<com.aynu.xxx.view.CustomBannerView android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:scaleType="fitXY" app:indicatorMargin="20dp" app:indicatorPosition="centerBottom" app:indicatorShape="oval" app:indicatorSpace="2dp" app:isAutoPlay="true" app:scrollDuration="1000" app:selectedIndicatorColor="#bababa" app:selectedIndicatorHeight="6dp" app:selectedIndicatorWidth="6dp" app:unSelectedIndicatorColor="#e5e5e5" app:unSelectedIndicatorHeight="6dp" app:unSelectedIndicatorWidth="6dp" />
注释:
android:scaleType="fitXY" //当加载图片过大。裁剪的策略 app:indicatorMargin="20dp" //指示器的外边距 app:indicatorPosition="centerBottom" //指示器的位置 app:indicatorShape="oval" //指示器的形状 app:indicatorSpace="2dp" //指示器之间的距离 app:isAutoPlay="true" //是否自动播放 app:scrollDuration="1000" //播放的时间 app:selectedIndicatorColor="#bababa"//被选中指示器的颜色 app:selectedIndicatorHeight="6dp" //被选中指示器的大小 app:selectedIndicatorWidth="6dp" app:unSelectedIndicatorColor="#e5e5e5"//未被选中指示器的颜色 app:unSelectedIndicatorHeight="6dp"//未被选中指示器的大小 app:unSelectedIndicatorWidth="6dp"
用法:
List<Integer> mBannerItems = new ArrayList<>(); mBannerItems.add(R.drawable.t1); mBannerItems.add(R.drawable.t2); mBannerItems.add(R.drawable.t3); mBannerView.setViewRes(mBannerItems);//设置图片mBannerView.startAutoPlay();//开启自动轮播//条目点击 mBannerView.setOnBannerItemClickListener(new CustomBannerView.OnBannerItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(MainActivity.this, position, Toast.LENGTH_SHORT).show(); } });
文件类CustomBannerView资源链接:点击打开链接