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夢(mèng)1"); list_title.add("哆啦A夢(mèng)2"); list_title.add("哆啦A夢(mèng)3"); list_title.add("哆啦A夢(mèng)4"); list_title.add("哆啦A夢(mèng)5"); list_title.add("哆啦A夢(mèng)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實(shí)現(xiàn)簡(jiǎn)單水波紋效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單水波紋效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android控件之ScrollView用法實(shí)例分析
這篇文章主要介紹了Android控件之ScrollView用法,以完整實(shí)例形式較為詳細(xì)的分析了ScrollView控件滾動(dòng)顯示的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-09-09Android 中對(duì)于圖片的內(nèi)存優(yōu)化方法
Android 中對(duì)于圖片的內(nèi)存優(yōu)化方法,需要的朋友可以參考一下2013-03-03Android抓取CSDN首頁極客頭條內(nèi)容完整實(shí)例
這篇文章主要介紹了Android抓取CSDN首頁極客頭條內(nèi)容完整實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Android獲取常用輔助方法(獲取屏幕高度、寬度、密度、通知欄高度、截圖)
我們需要獲取Android手機(jī)或Pad的屏幕的物理尺寸,以便于界面的設(shè)計(jì)或是其他功能的實(shí)現(xiàn)。下面就分享一下Android中常用的一些輔助方法2016-02-02Android中使用tcpdump、wireshark進(jìn)行抓包并分析技術(shù)介紹
這篇文章主要介紹了Android中使用tcpdump、wireshark進(jìn)行抓包并分析技術(shù)介紹,本文講解了下載并安裝tcpdump、pc上安裝wireshark等內(nèi)容,需要的朋友可以參考下2015-04-04Android實(shí)現(xiàn)可拖拽帶有坐標(biāo)尺進(jìn)度條的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Android實(shí)現(xiàn)可拖拽帶有坐標(biāo)尺進(jìn)度條的效果,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-06-06