android PreferenceActivity
2011-03-21 13:27
330 查看
在开发应用程
序的过程中我们有很大的机会需要用到参数设置功能,那么在Android应用中,我们如何实现参数设置界面及参数存储呢,下面我们来介绍一下
Android中的一个特殊Activity–PreferencesActivity。PreferencesActivity是Android中专门
用来实现程序设置界面及参数存储的一个Activity,我们用一个实例来简介如何使用PreferencesActivity。
以此为例我们来介绍一下如何实现这个界面。首先建立一个xml来描述这个界面,文件为res/xml/preferences.xml
view plain
copy to clipboard
?
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
PreferenceScreen
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
<
PreferenceCategory
android:title
=
"PreferenceCategory 1"
>
<
CheckBoxPreference
android:key
=
"CheckBox1"
android:title
=
"CheckBox"
android:summaryOn
=
"某功能: 开启"
android:summaryOff
=
"某功能: 关闭"
android:defaultValue
=
"true"
/>
</
PreferenceCategory
>
<
PreferenceCategory
android:title
=
"PreferenceCategory 2"
>
<
PreferenceScreen
android:title
=
"二级PreferenceScreen"
>
<
CheckBoxPreference
android:key
=
"CheckBox2"
android:title
=
"CheckBox"
android:summaryOn
=
"某功能: 开启"
android:summaryOff
=
"某功能: 关闭"
android:defaultValue
=
"true"
/>
</
PreferenceScreen
>
</
PreferenceCategory
>
<
PreferenceCategory
android:title
=
"PreferenceCategory 3"
>
<
ListPreference
android:key
=
"ListPreference"
android:title
=
"ListPreference"
android:summary
=
"ListPreference测试"
android:dialogTitle
=
"ListPreference"
android:entries
=
"@array/entries_list_preference"
android:entryValues
=
"@array/entriesvalue_list_preference"
/>
<
EditTextPreference
android:key
=
"EditTextPreference"
android:title
=
"EditTextPreference"
android:summary
=
"点击输入"
android:dialogTitle
=
"输入设置"
/>
<
RingtonePreference
android:key
=
"RingtonePreference"
android:title
=
"RingtonePreference"
android:summary
=
"选择铃声"
/>
</
PreferenceCategory
>
</
PreferenceScreen
>
这个例子中包括了PreferenceActivity中常见的几种组件,以下为具体介绍及用法:
PreferenceScreen
:设置页面,可嵌套形成二级设置页面,用Title参数设置标题。
P
referenceCategory
:某一类相关的设置,可用Title参数设置标题。
CheckBoxPreference
:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示。
ListPreference
:
下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle设置下拉框的标题,下拉框内显示
的内容和具体的值需要在res/values/array.xml中设置两个array来表示。图中的array.xml设置如下:
view plain
copy to clipboard
?
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
resources
>
<
string-array
name
=
"entries_list_preference"
>
<
item
>
test1
</
item
>
<
item
>
test2
</
item
>
<
item
>
test3
</
item
>
</
string-array
>
<
string-array
name
=
"entriesvalue_list_preference"
>
<
item
>
1
</
item
>
<
item
>
2
</
item
>
<
item
>
3
</
item
>
</
string-array
>
</
resources
>
EditTextPreference
:输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题
RingtonePreference
:铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。
以
上是PreferenceActivity的xml描述,那么在程序中我们只需要新建一个继承自PreferenceActivity的
Activity,然后在主程序中调用addPreferencesFromResource(XML的ID)
就可以了。这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存
储,PreferenceActivity创建后会自动创建一个配置文件/data/data/you_package_name
/shared_prefs/you_package_name_you_xml_name.xml。上例中自动生成的配置文件如下:
view plain
copy to clipboard
?
<?
xml
version
=
'1.0'
encoding
=
'utf-8'
standalone
=
'yes'
?>
<
map
>
<
string
name
=
"EditTextPreference"
>
12332312
</
string
>
<
string
name
=
"ListPreference"
>
2
</
string
>
<
string
name
=
"RingtonePreference"
>
content://settings/system/ringtone
</
string
>
<
boolean
name
=
"CheckBox1"
value
=
"true"
/>
<
boolean
name
=
"CheckBox2"
value
=
"true"
/>
</
map
>
转载于:http://blog.163.com/dangzhengtao@yeah/blog/static/778008742010111363132727/
相关文章推荐
- Android 完美解决自定义preference与ActivityGroup UI更新的问题
- Android之PreferenceActivity&nbsp;(转…
- Android开发之PreferenceActivity .
- Android之PreferenceActivity
- android PreferenceActivity详解
- Android 完美解决自定义preference与ActivityGroup UI更新的问题
- Android ListView ListActivity PreferenceActivity背景变黑的问题
- Android之PreferenceActivity
- Android 完美解决自定义preference与ActivityGroup UI更新的问题 推荐
- android的PreferenceActivity
- android之PreferenceActivity
- Android之PreferenceActivity
- android PreferenceActivity结合PreferenceFragment实现参数设置界面学习实例
- Android之PreferenceActivity类介绍
- Android开发--详解SharedPreference/PreferenceActivity
- Android PreferenceActivity 学习笔记
- Android_UI:PreferenceActivity PreferenceFragment
- 转-Android之PreferenceActivity
- Android开发--详解SharedPreference/PreferenceActivity
- Android之PreferenceActivity 详解