Android?Banner本地和網(wǎng)絡(luò)輪播圖使用介紹
現(xiàn)在恰好有個(gè)項(xiàng)目需要做個(gè)輪播圖效果,這個(gè)需求也是很常見的需求,于是就做個(gè)筆記寫一下實(shí)現(xiàn)過程
分為加載本地圖片和網(wǎng)絡(luò)圖片
加載本地圖片
第一步:先在build.gradle中加入banner和glide的依賴
//banner依賴
implementation 'com.youth.banner:banner:1.4.9'
//Glide框架
implementation "com.github.bumptech.glide:glide:4.6.1"
第二步:xml布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="300dp"
/>
第三步:MainActivity
public class MainActivity extends AppCompatActivity {
private Banner mBanner;
private LocalImageLoader mImageLoader;
private ArrayList<Integer> imagePath;
private ArrayList<String> imageTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intView();
intDate();
}
private void intDate() {
imagePath = new ArrayList<>();
imageTitle = new ArrayList<>();
imagePath.add(R.mipmap.ic_launcher);
imagePath.add(R.mipmap.ic_launcher);
imagePath.add(R.mipmap.ic_launcher);
imagePath.add(R.mipmap.ic_launcher);
imagePath.add(R.mipmap.ic_launcher);
imageTitle.add("第一");
imageTitle.add("第二");
imageTitle.add("第三");
imageTitle.add("第四");
imageTitle.add("第五");
}
private void intView() {
mImageLoader = new LocalImageLoader();
mBanner = findViewById(R.id.banner);
//樣式
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//加載器
mBanner.setImageLoader(mImageLoader);
//動(dòng)畫效果
mBanner.setBannerAnimation(Transformer.ZoomOutSlide);
//圖片標(biāo)題
mBanner.setBannerTitles(imageTitle);
//間隔時(shí)間
mBanner.setDelayTime(4500);
//是否為自動(dòng)輪播
mBanner.isAutoPlay(true);
//圖片小點(diǎn)顯示所在位置
mBanner.setIndicatorGravity(BannerConfig.CENTER);
//圖片加載地址
mBanner.setImages(imagePath);
//啟動(dòng)輪播圖。
mBanner.start();
//監(jiān)聽輪播圖
mBanner.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
Toast.makeText(MainActivity.this, "點(diǎn)擊了" + (position + 1) + "張輪播圖", Toast.LENGTH_SHORT).show();
}
});
}
/**
* 圖片加載類
*/
private class LocalImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context.getApplicationContext())
.load(path)
.into(imageView);
}
}
}
加載網(wǎng)絡(luò)圖片
只要修改一下intDate()和LocalImageLoader()方法就好了
例如:
private void initData() {
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_path.add("https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%93%86%E5%95%A6A%E6%A2%A6&step_word=&hs=0&pn=8&spn=0&di=118140&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3835923757%2C1980937759&os=265876109%2C1976020808&simid=0%2C0&adpicid=0&lpn=0&ln=1495&fr=&fmq=1573545585312_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fimg24.pplive.cn%2Fcs180x240%2F2017%2F11%2F08%2F18331958489.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fe_z%26e3Brrpe_z%26e3Bv54AzdH3Frw2jAzdH3Ftwtk9F2rHzdii0tkWE_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined");
list_title.add("哆啦A夢1");
list_title.add("哆啦A夢2");
list_title.add("哆啦A夢3");
list_title.add("哆啦A夢4");
list_title.add("哆啦A夢5");
list_title.add("哆啦A夢6");
}
private class LocalImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context.getApplicationContext())
.load((String) path)
.into(imageView);
}
}
下載網(wǎng)絡(luò)圖片的時(shí)候要記得添加網(wǎng)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET" />
補(bǔ)充。輪播圖幾種默認(rèn)樣式對(duì)比。。。PS:如果輪播圖不想要title,就更改樣式就好了
需要注意的是,如果設(shè)置有標(biāo)題出現(xiàn)的樣式,那么一定要設(shè)置setBannerTitles屬性,不然會(huì)報(bào)錯(cuò)
樣式一:CIRCLE_INDICATOR:無標(biāo)題,有小圓點(diǎn)
//banner無標(biāo)題樣式 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
效果圖:

樣式二:CIRCLE_INDICATOR_TITLE_INSIDE:小圓點(diǎn)和標(biāo)題在同一欄
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
效果圖

樣式三:CIRCLE_INDICATOR_TITLE:標(biāo)題和小圓點(diǎn)同時(shí)出現(xiàn)
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
效果圖:

到此這篇關(guān)于Android Banner本地和網(wǎng)絡(luò)輪播圖使用介紹的文章就介紹到這了,更多相關(guān)Android本地和網(wǎng)絡(luò)輪播圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android創(chuàng)建和刪除文件夾和文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猘ndroid創(chuàng)建和刪除文件夾和文件的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
Android創(chuàng)建Menu菜單實(shí)例
這篇文章主要介紹了Android創(chuàng)建Menu菜單實(shí)例,講述了Android菜單項(xiàng)的創(chuàng)建方法,在Android應(yīng)用程序開發(fā)中非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10
Android用PopupWindow實(shí)現(xiàn)自定義overflow
這篇文章主要介紹了Android用PopupWindow實(shí)現(xiàn)自定義overflow的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Android系統(tǒng)默認(rèn)對(duì)話框添加圖片功能
這篇文章主要介紹了Android系統(tǒng)默認(rèn)對(duì)話框添加圖片的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
Android 微信6.1 tab欄圖標(biāo)和字體顏色漸變的實(shí)現(xiàn)
本文主要對(duì)微信6.1 tab 欄顏色漸變效果的實(shí)現(xiàn)全過程進(jìn)行分析介紹,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2016-12-12
Android 通過自定義view實(shí)現(xiàn)水波紋效果案例詳解
這篇文章主要介紹了Android 通過自定義view實(shí)現(xiàn)水波紋效果案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Android實(shí)現(xiàn)動(dòng)畫效果的自定義下拉菜單功能
這篇文章主要介紹了Android實(shí)現(xiàn)動(dòng)畫效果的自定義下拉菜單功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Android ListView獲得選項(xiàng)中的值
本篇文章主要介紹Android ListView,在Android開發(fā)過程中經(jīng)常會(huì)用到ListView 組件并有監(jiān)聽事件,這里給大家一個(gè)簡單實(shí)例,來說明如何得到ListView選項(xiàng)中的值2016-07-07
Android開發(fā)實(shí)現(xiàn)Launcher3應(yīng)用列表修改透明背景的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)Launcher3應(yīng)用列表修改透明背景的方法,結(jié)合實(shí)例形式分析了Launcher3相關(guān)配置文件與功能函數(shù)修改設(shè)置操作技巧,需要的朋友可以參考下2017-11-11

