為了與你之前,你已經設定了共享Tab風格和Item實作圓角。希望能給有須要的朋友一點點幫助,今天再和大家分享一下用ViewPager實作設定分頁,小米和OPPO就是這種設定,先來看看效果圖:

為了幫助大家更清晰的了解,我單獨拿出一個小樣例。有須要的朋友能夠下載下傳下來看看:
<a target="_blank" href="http://git.oschina.net/way/SettingTab/tree/master">http://git.oschina.net/way/SettingTab/tree/master</a>
事實上要實作這種風格并不難。僅僅要能比較深入的了解PreferenceActivity.java就能夠了。
我們都知道Settings.java是繼承自PreferenceActivity.java,所用的布局檔案layout也是父類的,并且他的二級界面都是Fragment。都是依賴他這個Activity。假設在onCreate函數中通過setContentView()改變Settings.java的布局。豈不是也會影響他的二級界面?相信非常多遇到困難的朋友就是這個原因。
答案是否定的。非常明顯,我們僅僅須要在顯示Settings的第一個界面的時候才setContentView()。也就是說在onCreate裡面推斷一下: if (this.getClass().equals(Settings.class)),為什麼是這樣呢?我們能夠滾動到Settings.java檔案末尾,會發現。事實上二級菜單都是一些Fragment。可是它們也有虛拟的類名的,都是Settings的内部類,是以,進到二級菜單就不滿足這個條件了。
例如以下所看到的:
相信,看完上面這段代碼,遇到困難的朋友應該會豁然開朗。以下都能夠不用繼續看下去了。
隻是為了善始善終,我會繼續貼下去。
接下來。我們看看tab_settings.xml的布局,由于PreferenceActivity的特性,布局中必需要有一個id為android:id/list的ListView,由于全部的xml檔案夾下的preference解析出來都是顯示在上面,盡管我們改變了布局。但還是不能改變他的代碼嘛!就弄一個高度寬度為0的ListView騙一下它就能夠了,呵呵:
接下來便是普通ViewPager的使用了。我這裡就不多說了。
以下把整個Settings.java的源碼分享一下:
本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5032416.html,如需轉載請自行聯系原作者