PreferenceActivity相关

分享到:

大多数Settings用的是PreferenceActivity

为了说明这个问题,首先从需求说起。即:现有某一Activity专门用于手机属性设置,那么应该如何做呢?
根据我目前所学知识,会想到Activity + Preference 的组合,前者用于界面的构建,后者用于设置数据的存放。虽然想法是正确的,但是会比较繁琐,因为每个设置选项都要建立与其对应的Preference。
所以 现在有更好的选择了,那就是本文的主角:PreferenceActivity
从名字应该可以看出它其实 Activity 与 Perference 的混合物,它的神奇之处在于既可以充当设置界面,又可以很方便地保存设置数据。我们只需要新建一个继承自PreferenceActivity的Activity,然后在主程序中调用就可以了。这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存储,PreferenceActivity创建后会自动创建一个配置文件/data/data/you_package_name/shared_prefs/you_package_name_you_xml_name.xml。

如何操作PreferenceActivity

先从需求说起,常见的手机属性设置都有哪些种类:

1、CheckBox 用于【确定/取消】 某项功能(如:是否静音),对应于:CheckBoxPreference   其在Preference 有一个选项与其自动绑定 下同

2、ListView 用于列出所有选择(如:关于设备),对应于:ListPreference

3、TextView 纯粹为了说明状态(如:信号强度),对应于:Preference

4、Switch 用于【开启/关闭】某项功能(如:Motion),对应于SwitchPreferenceScreen

5、EditText 用于在某些特定的情况下写入数据(如:个人信息),对应于EditTextPreference

6、特殊的preference,如:铃音选择,系统会把这个选项自动绑定到铃音数据上,不用设置其他就可以达到切换铃音的效果,对应于RingtonePreference

操作PreferenceActivity步骤:

  1. 1.       PreferenceActivity界面比较特别在 res/xml/setting.xml

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题。

昵    称:
验证码:

相关文档: