**
Android中輪播框架Banner
**
Android中廣告輪播框架Banner,實現循環播放多個廣告圖片和手動滑動循環等功能
1.添加依賴
dependencies {
······
implementation 'com.youth.banner:banner:1.4.10'
}
2.添加權限在AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3.在佈局文件layout.xml中添加Banner控件
<com.youth.banner.Banner
android:id="@+id/mBanner"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_300" />
4.在相應Activity或者Fragment中綁定並配置Banner,我是用的本地圖片
//圖片資源
int[] imageResourceID = new int[]{R.drawable.img, R.drawable.img2, R.drawable.img3, R.drawable.img4};
List<Integer> imgeList = new ArrayList<>();
//輪播標題
String[] mtitle = new String[]{"pic1", "pic2", "pic3", "pic4"};
List<String> titleList = new ArrayList<>();
for (int i = 0; i < imageResourceID.length; i++) {
imgeList.add(imageResourceID[i]);//把圖片資源循環放入list裏面
titleList.add(mtitle[i]);//把標題循環設置進列表裏面
//設置圖片加載器,通過Glide加載圖片
mBanner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(getActivity()).load(path).into(imageView);
}
});
//設置輪播的動畫效果,裏面有很多種特效,可以到GitHub上查看文檔。
mBanner.setBannerAnimation(Transformer.Accordion);
mBanner.setImages(imgeList);//設置圖片資源
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);//設置banner顯示樣式(帶標題的樣式)
mBanner.setBannerTitles(titleList); //設置標題集合(當banner樣式有顯示title時)
//設置指示器位置(即圖片下面的那個小圓點)
mBanner.setIndicatorGravity(BannerConfig.CENTER);
mBanner.setDelayTime(1000);//設置輪播時間1秒切換下一圖
mBanner.setOnBannerListener(this);//設置監聽
mBanner.start();//開始進行banner渲染
}
4.對輪播圖設置點擊事件,可以跳轉到網頁,也可以Toast彈出提示語。
//對輪播圖設置點擊監聽事件
@Override
public void OnBannerClick(int position) {
//Toast.makeText(getActivity(), "你點擊了第" + (position + 1) + "張輪播圖", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
// intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
mBanner.startAutoPlay();//開始輪播
mBanner.stopAutoPlay();//結束輪播
效果圖,方便實用