Android中preference标签的使用

 现在做公司任务的时候,经常会要去读Settings的源码,然后发现在xml文件中几乎全是用的preferenceScreen和preferenceCategory标签,很少有用布局和控件的,然后我就自己上网看了很多有关的资料,在此总结下。

 

首先在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>

 

目前大概就了解了这些,以后有什么再补充

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。