天天看點

Android4.0設定接口變更摘要(四)

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

Android4.0設定接口變更摘要(四)
Android4.0設定接口變更摘要(四)

為了幫助大家更清晰的了解,我單獨拿出一個小樣例。有須要的朋友能夠下載下傳下來看看:

<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,如需轉載請自行聯系原作者

繼續閱讀