在开发应用程序的过程中我们有很大的机会需要用到参数设置功能,那么在Android应用中,我们如何实现参数设置界面及参数存储呢,下面我们来介绍一下Android中的一个特殊Activity–PreferencesActivity。PreferencesActivity是Android中专门用来实现程序设置界面及参数存储的一个Activity,我们用一个实例来简介如何使用PreferencesActivity。

Android PreferenceActivity介绍_第1张图片

以此为例我们来介绍一下如何实现这个界面。首先建立一个xml来描述这个界面,文件为res/xml/preferences.xml

<?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参数设置标题。

PreferenceCategory:某一类相关的设置,可用Title参数设置标题。

CheckBoxPreference:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示。

ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle设置下拉框的标题,下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示。图中的array.xml设置如下:

<?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参数设置铃声选择框的标题。

附Activity代码如下:

public class SettingActivity extends PreferenceActivity {        @Override        protected void onCreate(Bundle savedInstanceState) {                // TODO Auto-generated method stub                super.onCreate(savedInstanceState);                addPreferencesFromResource(R.xml.preferences);        }}

以上是PreferenceActivity的xml描述,那么在程序中我们只需要新建一个继承自PreferenceActivity的Activity,然后在主程序中调用addPreferencesFromResource(XML的ID) 就可以了。这个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>
THE END!


更多相关文章

  1. Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能 - Andr
  2. Android官方开发文档Training系列课程中文版:连接无线设备之网络
  3. 【起航计划 006】2015 起航计划 Android APIDemo的魔鬼步伐 05 A
  4. Android透明界面与ListView动态刷新
  5. Android studio登录界面之记住密码
  6. Android开机界面
  7. Android 4.1.2系统添加重启功能
  8. [置顶] android软键盘弹出,会把原来的界面挤上去的问题 处理方法

随机推荐

  1. Android(安卓)最火的快速开发框架XUtils
  2. android RelativeLayout属性及demo
  3. 【苦读官方文档】2.Android应用程序基本
  4. Android中的Shape使用总结—圆角的按钮
  5. Android(安卓)的网络编程
  6. Android核心分析 之十一-------Android(
  7. Android中主题与样式
  8. 深入解析Android关机
  9. Android的消息机制
  10. 【Android】Android(安卓)概述_问答