在学习android开发的过程中,我们经常会先看各种各样的源码,这是一种学习的方法,也可以提高自己的编程水平。我们会经常读到Setttings的源码,初始的时候我不是很懂这一块代码,为此我上网上搜了相关的知识,虽不是很全,但也对preferenceScreen和preferenceCategory有了大概的了解。故转载如下,有时间自己在补充一点细节
转载地址: http://www.linuxidc.com/Linux/2015-03/114786.htm
首先在res目录下,新建一个命名为xml的文件夹,然后建立一个aaa.xml文件,选择resource标签。
先使用PreferenceCategory,代码如下
1 <PreferenceCategory Android:title="显示一排偏好" > 2 <CheckBoxPreference 3 android:key="checkbox_pre" 4 android:summary="这是一个开关按钮" 5 android:title="开关偏好" /> 6 </PreferenceCategory>
效果图:
PreferenceCategory相当于分组,把同一类的选项放在同一块区域。
再来看看PreferenceScreen,代码如下
1 <PreferenceScreen 2 android:key="screen_pre" 3 android:summary="显示另一个偏好屏幕" 4 android:title="屏幕" > 5 <CheckBoxPreference 6 android:key="next_screen_checkbox_pre" 7 android:summary="另一个屏幕上的偏好" 8 android:title="开关偏好" /> 9 </PreferenceScreen>
如图,,然后发现没有checkbox显示
因为PreferenceScreen是可以点进去的,点击该选项,进入就可以看到checkbox了
然后看看ListPreference,一般都嵌在PreferenceScreen中使用,看起来比较舒服,代码如下
<PreferenceScreen android:title="基于对话框的偏好" > <ListPreference android:dialogTitle="选择一个" android:entries="@array/auto_update_frequency_entry" android:entryValues="@array/auto_update_frequency_value" android:key="list_pre" android:summary="使用一个列表对话框" android:title="列表偏好" > </ListPreference> </PreferenceScreen>
点击该screen,listPreference会像dialog一样弹出来,如图
android:entries和android:entryValues两个属性的值来源:
在values目录下建立一个array.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="auto_update_frequency_entry"> <item >10分钟</item> <item >30分钟</item> <item >1小时</item> <item >12小时</item> <item >24小时</item> </string-array> <string-array name="auto_update_frequency_value"> <item >10</item> <item >30</item> <item >60</item> <item >720</item> <item >1440</item> </string-array> </resources>
目前大概就了解了这些,以后有什么再补充