這篇文章主要介紹如何實(shí)現(xiàn)Android圖片輪播展示效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元冠縣做網(wǎng)站,已為上家服務(wù),為冠縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220實(shí)現(xiàn)邏輯
1.創(chuàng)建XML布局文件,使用ViewPager完成輪播圖片
2.初始化ViewPager控件,然后為控件設(shè)置適配器,創(chuàng)建出來的適配器實(shí)現(xiàn)里面的四個(gè)方法
3.四個(gè)方法分別是getCount isViewFromObject instantiateItem destroyItem
4.在onCreat方法中,加載圖片資源,將圖片ID存在集合中,使圖片能夠在頁面中顯示,(圖片之所以能夠在頁面中顯示,是因?yàn)樵谶m配器中的instantiateItem方法中獲取了集合中的圖片元素)
5.圖片下方的文字顯示:圖片下方之所以會有文字,可以通過初始化控件,在ViewPager監(jiān)聽器中的onPageSelected方法中tv_desc.setText(descs[position]);這樣文字就可以跟隨者圖片進(jìn)行切換
6.文字下方的小圓點(diǎn)的切換:在XML布局中設(shè)置一個(gè)Linlayout布局,然后再onCreat方法中設(shè)置小圓點(diǎn),通過LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(10, 10);的方法引入小圓點(diǎn)(具體代碼可以參考下方的initDot方法)
7.要想讓小圓點(diǎn)隨著頁面的切換而切換,可以定義下方的changeDots的方法,讓此方法在監(jiān)聽器中的onPageSelected方法中進(jìn)行調(diào)用
8.圖片的無限輪播的實(shí)現(xiàn):可以使適配器中的getCount返回值設(shè)為一個(gè)很大很大的值,同時(shí)在instantiateItem方法中設(shè)置position position = position % imageResIds.length;防止索引越界異常,這樣就可以使圖片無限輪播,但是此時(shí)還有一個(gè)問題就是,右邊可以無限輪播,但是左邊是無法無限輪播的,這個(gè)問題的解決辦法是在onCreat方法中設(shè)置當(dāng)前選中的條目viewPager.setCurrentItem(count / 2);這樣兩邊都可以實(shí)現(xiàn)無限輪播
9.圖片自動切換的處理:使用handler機(jī)制實(shí)現(xiàn)頁面的延時(shí)更新,同時(shí)為了防止內(nèi)存溢出,需要在頁面可見時(shí),也就是activity的onStart方法中發(fā)送消息,在頁面消失時(shí),也就是onStop方法中刪除消息
布局文件
<?xml version="1.0" encoding="utf-8"?>