使用PreferenceActivity和PreferenceScreen构建应用的设置
?? 对于每个应用程序来说,都要有一些属于用户自己的设置,满足不同需求。当我们点击menu时,如下:
?点击settings时,出现:
?那么这样的效果是怎么实现的呢?我只是来个简单介绍,给自己做备忘,也是给大家点思路吧。在android的路上,我们一起努力吧。
这里我们仅说第二个图片效果的实现,第一个图片的效果,想必大家都会了,就是使用menu类的几个方法就可以了。
1.PreferenceScreen 的使用。
首先要定义一下整个布局即使用xml文件夹下的preferences.xml。
代码如下:
?
其中:
特性??????????????????????????????? 说明
android:key?????????????????????? 选项的名称或键(比如selected_flight_sort_option)android:title?????????????????????? 选项的标题
android:summary?????????????? 选项的简短摘要
android:entries????????????????? 可将选项设置成列表项的文本
android:entryValues????????? 定义每个列表项的值。注意:每个列表项有一些文本和 一 个 值。 文本由
entries定义,值由entryValues定义。
android:dialogTitle???????????? 对话框的标题,在视图显示为模态对话框时使用
android:defaultValue????????? 项列表中选项的默认值?
在开发文档中这样定义PreferenceScreen,?Represents a top-level Preference that is the root of a Preference hierarchy. 即显示了首选项组织体系的最顶级。
?
2.PreferenceActivity
A PreferenceActivity points to an instance of this class to show the preferences. 即我们通过实例化一个继承PreferenceActivity 的类来展示首选项,代码如下
?当我们点击其中某一项时,如cache option
效果:
?
?用到了我们在res下定义的arrays.xml其中部分内容如下:
<resources> <string-array name="cache_size"> <item>Off</item> <item>50 MB</item> <item>100 MB</item> <item>250 MB</item> <item>500 MB</item> </string-array> <string-array name="cache_size_values"> <item>0</item> <item>50</item> <item>100</item> <item>250</item> <item>500</item> </string-array></resources>?
实在不明白的可以参考:http://byandby.iteye.com/blog/1045508?谢谢作者呵呵。
?
?仅提供思路。
?