Android UI Libs之CircleIndicator

Android UI Libs之CircleIndicator


1. 說(shuō)明


CircleIndicator蜂奸,顧名思義犁苏,圓形指示器,只一個(gè)可以用來(lái)做輪播的第三方庫(kù)扩所。

2. 配置


在模塊的build.gradle中添加依賴(lài):compile 'me.relex:circleindicator:1.2.1@aar'

3. 基本使用


在xml布局文件中定義ViewPagerCircleIndicator

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="150dp">
        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="150dp">
        </android.support.v4.view.ViewPager>
        <me.relex.circleindicator.CircleIndicator
            android:id="@+id/indicator"
            android:layout_width="match_parent"
            android:layout_height="48dp"/>
    </RelativeLayout>  

注意:ViewPagerCircleIndicator一般放在同一個(gè)RelativeLayout中围详,并且CircleIndicator放在后面

在java文件中的相關(guān)操作:

        this.indicator = (CircleIndicator) findViewById(R.id.indicator);
        this.viewpager = (ViewPager) findViewById(R.id.view_pager);
        List<Fragment> list=new ArrayList<>();
        myFragment1 = new MyFragment(R.drawable.image1);
        myFragment2 = new MyFragment(R.drawable.image2);
        myFragment3 = new MyFragment(R.drawable.image3);
        list.add(myFragment1);
        list.add(myFragment2);
        list.add(myFragment3);
        MyPagerAdapter myPagerAdapter=new MyPagerAdapter(getSupportFragmentManager(),list);
        viewpager.setAdapter(myPagerAdapter);
        indicator.setViewPager(viewpager);  

MyFragment是我自定義的Fragment,它里面包含一個(gè)ImageView祖屏,MyPagerAdapter是我自定義的Adapter助赞。

程序運(yùn)行界面:

我們發(fā)現(xiàn)可以輪播,但是不能循環(huán)袁勺,我們想要循環(huán)怎么辦雹食,別擔(dān)心,下一節(jié)我們來(lái)實(shí)現(xiàn)循環(huán)輪播期丰。

CircleIndicator還有下面一些屬性群叶,屬性命名很規(guī)則,一看名字就知道屬性是干什么的:

  • app:ci_width:
  • app:ci_height
  • app:ci_margin
  • app:ci_drawable
  • app:ci_drawable_unselected
  • app:ci_animator
  • app:ci_animator_reverse
  • app:ci_orientation (default:horizontal)
  • app:ci_gravity (default:center)

4. 高級(jí)使用


該庫(kù)的LoopingViewPager目錄下面為我們提供了循環(huán)的ViewPager钝荡,我們需要將其中的LoopPagerAdapterWrapper街立,LoopViewPager這兩個(gè)類(lèi)復(fù)制到我們的項(xiàng)目中來(lái)就。然后要將android.support.v4.view.ViewPager改為com.lavor.circleindicatordemo.LoopViewPager埠通。

  • 當(dāng)我們的Adapter是繼承自FragmentPagerAdapter 時(shí)赎离,無(wú)法使用該循環(huán)的ViewPager(即LoopViewPager
  • 當(dāng)我們的Adapter是SamplePagerAdapter時(shí),SamplePagerAdapter是該庫(kù)實(shí)例中的一個(gè)Adapter時(shí)植阴,可以循環(huán)輪播蟹瘾,但是明顯從最后一個(gè)滑動(dòng)到第一個(gè)時(shí),第一頁(yè)顯示了兩次掠手,貌似利用該庫(kù)中的LoopViewPager還無(wú)法解決這個(gè)問(wèn)題憾朴。

**我們要實(shí)現(xiàn)循環(huán)輪播的最佳解決方案: **

  • 利用另一個(gè)庫(kù)LoopViewPager下面的LoopViewPager
  • 修改CircleIndicator下面CircleIndicator的源代碼,將setViewPager(ViewPager viewPager)方法中的ViewPager改為上面所提庫(kù)中的LoopViewPager喷鸽,并將與之關(guān)聯(lián)的ViewPager都改為上面所提庫(kù)中的LoopViewPager众雷,其他關(guān)聯(lián)代碼對(duì)應(yīng)改過(guò)來(lái)。

程序運(yùn)行后的界面:


程序源代碼下載做祝,我的github倉(cāng)庫(kù):UILibs

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砾省,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子混槐,更是在濱河造成了極大的恐慌编兄,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件声登,死亡現(xiàn)場(chǎng)離奇詭異狠鸳,居然都是意外死亡揣苏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)件舵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卸察,“玉大人,你說(shuō)我怎么就攤上這事铅祸】又剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵临梗,是天一觀的道長(zhǎng)涡扼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夜焦,這世上最難降的妖魔是什么壳澳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮茫经,結(jié)果婚禮上巷波,老公的妹妹穿的比我還像新娘。我一直安慰自己卸伞,他們只是感情好抹镊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著荤傲,像睡著了一般垮耳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遂黍,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天终佛,我揣著相機(jī)與錄音,去河邊找鬼雾家。 笑死铃彰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芯咧。 我是一名探鬼主播牙捉,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敬飒!你這毒婦竟也來(lái)了邪铲?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤无拗,失蹤者是張志新(化名)和其女友劉穎带到,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體英染,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揽惹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年晌纫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片永丝。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖箭养,靈堂內(nèi)的尸體忽然破棺而出慕嚷,到底是詐尸還是另有隱情,我是刑警寧澤毕泌,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布喝检,位于F島的核電站,受9級(jí)特大地震影響撼泛,放射性物質(zhì)發(fā)生泄漏挠说。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一愿题、第九天 我趴在偏房一處隱蔽的房頂上張望损俭。 院中可真熱鬧,春花似錦潘酗、人聲如沸杆兵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)琐脏。三九已至,卻和暖如春缸兔,著一層夾襖步出監(jiān)牢的瞬間日裙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工惰蜜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昂拂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓蝎抽,卻偏偏與公主長(zhǎng)得像政钟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子樟结,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 46,759評(píng)論 22 665
  • 最近做了一個(gè)Android UI相關(guān)開(kāi)源項(xiàng)目庫(kù)匯總养交,里面集合了OpenDigg 上的優(yōu)質(zhì)的Android開(kāi)源項(xiàng)目庫(kù)...
    OpenDigg閱讀 17,199評(píng)論 6 222
  • 一念秋風(fēng)起, 枝葉訴說(shuō)著離別的絮語(yǔ)瓢宦。 此后經(jīng)年碎连, 如曼珠沙華, 相守 卻不能再見(jiàn)驮履!
    森林_木閱讀 187評(píng)論 0 0
  • 我創(chuàng)建數(shù)據(jù)庫(kù)名為 long'發(fā)現(xiàn)不能夠使用鱼辙,不知道什么情況廉嚼,但是換個(gè)名字就行了,錯(cuò)誤提示如下圖 建表的時(shí)候 lon...
    云龍789閱讀 940評(píng)論 0 0