Preference类中xml里属性的用法和介绍记录
在下面的一段设置参数中,
?
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.phone"> <com.android.phone.UseNetModeListPreference android:key="button_gsm_umts_network_preferences_mode_key" android:title="@string/gsm_umts_network_preferences_title" android:summary="@string/gsm_umts_network_preferneces_summary" android:entries="@array/ver_count_entry_text" android:entryValues="@array/ver_count_entry_value" android:dialogTitle="@string/gsm_umts_network_preferences_dialogtitle" android:persistent="false" android:autoText="false"?/>
... </PreferenceScreen>
?虽然android文档里面有,但是是英文的。还是翻译过来看着舒服,也为自己记录下来。
? android:key:?通过key-value 的形式获取,其中key是xml控件标签中key属性对应的值. 例如,findPreference(“button_gsm_umts_network_preferences_mode_key”);获取具体组件。
?
android:entries和android:entryValues,也就是说只需要定义两个数组,就可以快速构建一个ListPreference,用户看的是enties,程序实际返回的是entryValues。于是在arrays.xml中,定义如下两个数组:
?
<resources> <string-array name="ver_count_entry_text"> <item>two</item> <item>three</item> <item>four</item> <item>five</item> </string-array> <integer-array name="ver_count_entry_value"> <item>2</item> <item>3</item> <item>4</item> <item>5</item> </integer-array></resources>
android:dialogTitle:The title in the dialog.
?
? android:summary: The summary for the Preference in a PreferenceActivity screen.
?
? android:persistent 为true时,系统会帮助我们去保存该设置,即使重启后依然能记忆之前的设置,这也是所谓的持久化 。这里 ? ?将 android:persistent设置为False,表明不需要让系统去做持久化,开发者系统通过自己的方式去实现持久化。
?
android:autoText:自动拼写帮助
?
?
CheckBoxPreference?是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示。
ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle设置下拉框的标题
EditTextPreference:输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题。
RingtonePreference:铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。