Android中banner的使用步驟
Step 1.依賴banner
Gradle
dependencies{
compile 'com.youth.banner:banner:1.4.9' //最新版本
}
或者引用本地lib
compile project(':banner')
Step 2.添加權(quán)限到你的 AndroidManifest.xml
<!-- if you want to load images from the internet --> <uses-permission android:name="android.permission.INTERNET" /> <!-- if you want to load images from a file OR from the internet --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Step 3.在布局文件中添加Banner,可以設(shè)置自定義屬性
?。?!此步驟可以省略,直接在Activity或者Fragment中new Banner(); <com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="高度自己設(shè)置" />
Step 4.重寫圖片加載器
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
/**
注意:
1.圖片加載器由自己選擇,這里不限制,只是提供幾種使用方法
2.返回的圖片路徑為Object類型,由于不能確定你到底使用的那種圖片加載器,
傳輸?shù)牡降氖鞘裁锤袷?,那么這種就使用Object接收和返回,你只需要強(qiáng)轉(zhuǎn)成你傳輸?shù)念愋途托校?
切記不要胡亂強(qiáng)轉(zhuǎn)!
*/
eg:
//Glide 加載圖片簡(jiǎn)單用法
Glide.with(context).load(path).into(imageView);
//Picasso 加載圖片簡(jiǎn)單用法
Picasso.with(context).load(path).into(imageView);
//用fresco加載圖片簡(jiǎn)單用法,記得要寫下面的createImageView方法
Uri uri = Uri.parse((String) path);
imageView.setImageURI(uri);
}
//提供createImageView 方法,如果不用可以不重寫這個(gè)方法,主要是方便自定義ImageView的創(chuàng)建
@Override
public ImageView createImageView(Context context) {
//使用fresco,需要?jiǎng)?chuàng)建它提供的ImageView,當(dāng)然你也可以用自己自定義的具有圖片加載功能的ImageView
SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
return simpleDraweeView;
}
}
Step 5.在Activity或者Fragment中配置Banner
--------------------------簡(jiǎn)單使用-------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Banner banner = (Banner) findViewById(R.id.banner);
//設(shè)置圖片加載器
banner.setImageLoader(new GlideImageLoader());
//設(shè)置圖片集合
banner.setImages(images);
//banner設(shè)置方法全部調(diào)用完畢時(shí)最后調(diào)用
banner.start();
}
--------------------------詳細(xì)使用-------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Banner banner = (Banner) findViewById(R.id.banner);
//設(shè)置banner樣式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//設(shè)置圖片加載器
banner.setImageLoader(new GlideImageLoader());
//設(shè)置圖片集合
banner.setImages(images);
//設(shè)置banner動(dòng)畫效果
banner.setBannerAnimation(Transformer.DepthPage);
//設(shè)置標(biāo)題集合(當(dāng)banner樣式有顯示title時(shí))
banner.setBannerTitles(titles);
//設(shè)置自動(dòng)輪播,默認(rèn)為true
banner.isAutoPlay(true);
//設(shè)置輪播時(shí)間
banner.setDelayTime(1500);
//設(shè)置指示器位置(當(dāng)banner模式中有指示器時(shí))
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner設(shè)置方法全部調(diào)用完畢時(shí)最后調(diào)用
banner.start();
}
-----------------當(dāng)然如果你想偷下懶也可以這么用--------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Banner banner = (Banner) findViewById(R.id.banner);
banner.setImages(images).setImageLoader(new GlideImageLoader()).start();
}
Step 6.(可選)增加體驗(yàn)
//如果你需要考慮更好的體驗(yàn),可以這么操作
@Override
protected void onStart() {
super.onStart();
//開始輪播
banner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
//結(jié)束輪播
banner.stopAutoPlay();
}
以上所述是小編給大家介紹的Android中banner的使用步驟,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Android ViewPager實(shí)現(xiàn)無限循環(huán)輪播廣告位Banner效果
- Android自定義封裝banner組件
- Android 中Banner的使用詳解
- Android convinientbanner頂部廣告輪播控件使用詳解
- Android UI實(shí)現(xiàn)廣告Banner輪播效果
- Android組件banner實(shí)現(xiàn)左右滑屏效果
- Android ViewPager實(shí)現(xiàn)Banner循環(huán)播放
- Android自動(dòng)播放Banner圖片輪播效果
- Android實(shí)現(xiàn)Banner界面廣告圖片循環(huán)輪播(包括實(shí)現(xiàn)手動(dòng)滑動(dòng)循環(huán))
- android實(shí)現(xiàn)banner輪播圖無限輪播效果
相關(guān)文章
Android中關(guān)于遞歸和二分法的算法實(shí)例代碼
這篇文章主要介紹了Android中關(guān)于遞歸和二分法的算法實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10
Android酷炫動(dòng)畫效果之3D星體旋轉(zhuǎn)效果
本文要實(shí)現(xiàn)的3D星體旋轉(zhuǎn)效果是從CoverFlow演繹而來,不過CoverFlow只是對(duì)圖像進(jìn)行轉(zhuǎn)動(dòng),我這里要實(shí)現(xiàn)的效果是要對(duì)所有的View進(jìn)行類似旋轉(zhuǎn)木馬的轉(zhuǎn)動(dòng)2018-05-05
android 修改launcher行數(shù)和列數(shù)的方法
這篇文章主要介紹了android 修改launcher行數(shù)和列數(shù)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
Android 實(shí)現(xiàn)抖音小游戲潛艇大挑戰(zhàn)的思路詳解
《潛水艇大挑戰(zhàn)》是抖音上的一款小游戲,最近特別火爆,很多小伙伴都玩過。接下來通過本文給大家分享Android 手?jǐn)]抖音小游戲潛艇大挑戰(zhàn)的思路,需要的朋友可以參考下2020-04-04
Android Spinner與適配器模式詳解及實(shí)例代碼
這篇文章主要介紹了Android Spinner與適配器模式詳解相關(guān)資料,并附代碼實(shí)例,需要的朋友可以參考下2016-10-10
Android實(shí)現(xiàn)圖片上傳蒙層進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圖片上傳蒙層進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
ActivityLifecycleCallbacks如何判斷APP是否在前臺(tái)
這篇文章主要為大家詳細(xì)介紹了ActivityLifecycleCallbacks判斷APP是否在前臺(tái)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

