如何實(shí)現(xiàn)Android圖片輪播展示效果-創(chuàng)新互聯(lián)

這篇文章主要介紹如何實(shí)現(xiàn)Android圖片輪播展示效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)2013年開(kāi)創(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è)夢(mèng)想脫穎而出為使命,1280元冠縣做網(wǎng)站,已為上家服務(wù),為冠縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

實(shí)現(xiàn)邏輯

1.創(chuàng)建XML布局文件,使用ViewPager完成輪播圖片

2.初始化ViewPager控件,然后為控件設(shè)置適配器,創(chuàng)建出來(lái)的適配器實(shí)現(xiàn)里面的四個(gè)方法

3.四個(gè)方法分別是getCount isViewFromObject instantiateItem destroyItem

4.在onCreat方法中,加載圖片資源,將圖片ID存在集合中,使圖片能夠在頁(yè)面中顯示,(圖片之所以能夠在頁(yè)面中顯示,是因?yàn)樵谶m配器中的instantiateItem方法中獲取了集合中的圖片元素)

5.圖片下方的文字顯示:圖片下方之所以會(huì)有文字,可以通過(guò)初始化控件,在ViewPager監(jiān)聽(tīng)器中的onPageSelected方法中tv_desc.setText(descs[position]);這樣文字就可以跟隨者圖片進(jìn)行切換

6.文字下方的小圓點(diǎn)的切換:在XML布局中設(shè)置一個(gè)Linlayout布局,然后再onCreat方法中設(shè)置小圓點(diǎn),通過(guò)LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(10, 10);的方法引入小圓點(diǎn)(具體代碼可以參考下方的initDot方法)

7.要想讓小圓點(diǎn)隨著頁(yè)面的切換而切換,可以定義下方的changeDots的方法,讓此方法在監(jiān)聽(tīng)器中的onPageSelected方法中進(jìn)行調(diào)用

8.圖片的無(wú)限輪播的實(shí)現(xiàn):可以使適配器中的getCount返回值設(shè)為一個(gè)很大很大的值,同時(shí)在instantiateItem方法中設(shè)置position position = position % imageResIds.length;防止索引越界異常,這樣就可以使圖片無(wú)限輪播,但是此時(shí)還有一個(gè)問(wèn)題就是,右邊可以無(wú)限輪播,但是左邊是無(wú)法無(wú)限輪播的,這個(gè)問(wèn)題的解決辦法是在onCreat方法中設(shè)置當(dāng)前選中的條目viewPager.setCurrentItem(count / 2);這樣兩邊都可以實(shí)現(xiàn)無(wú)限輪播

9.圖片自動(dòng)切換的處理:使用handler機(jī)制實(shí)現(xiàn)頁(yè)面的延時(shí)更新,同時(shí)為了防止內(nèi)存溢出,需要在頁(yè)面可見(jiàn)時(shí),也就是activity的onStart方法中發(fā)送消息,在頁(yè)面消失時(shí),也就是onStop方法中刪除消息

布局文件

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.a2_.MainActivity">

<android.support.v4.view.ViewPager
  android:id="@+id/vp"
  android:layout_width="match_parent"
  android:layout_height="250dp">
</android.support.v4.view.ViewPager>

<LinearLayout
  android:orientation="vertical"
  android:gravity="center"
  android:background="#66000000"
  android:layout_alignBottom="@id/vp"
  android:layout_width="match_parent"
  android:layout_height="50dp">

  <TextView
    android:id="@+id/desc"
    android:text="描述文本"
    android:textColor="#ffffff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

  <LinearLayout
    android:id="@+id/layout_dot"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

  </LinearLayout>
</LinearLayout>
</RelativeLayout>

當(dāng)前文章:如何實(shí)現(xiàn)Android圖片輪播展示效果-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://muchs.cn/article32/hsipc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、服務(wù)器托管、微信小程序、搜索引擎優(yōu)化、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)