Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Android_PreferenceActivity应用点滴

为了引入这个概率 首先从需求说起 即:现有某Activity专门用于手机属性设置 那么应该如何做呢?根据已学知识 很快一个念头闪过 即:Activity + Preference 组合 前者用于界面构建 后者用于设置数据存放  其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项 都要建立与其对应的Preference所以  现在有更好的选择了 那就是本文的主角:PreferenceActivity 从名字应该可以看出 其实 Activity 与 Perference 的混合物这个例子中包括了PreferenceActivity中常见的几种组件,以下为具体介绍及用法:PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题,summary设置描述(标题下面的文字),key设置唯一的ID,每个PreferenceScreen内可添加其它元素作为二级设置页面。PreferenceCategory:某一类相关的设置,可用Title参数设置标题。CheckBoxPreference:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题sumary设置描述,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示,defaultValue设置默认值。ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle 设置下拉框的标题,下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示。<?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>这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存储,PreferenceActivity创建后会自动创建一个配置文件/data/data/you_package_name /shared_prefs/you_package_name_you_xml_name.xml。
上例中自动生成的配置文件如下:<?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>