`

PreferenceActivity用法

阅读更多

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

下图是一个参数设置界面:
android-preference-screen-01
以此为例我们来介绍一下如何实现这个界面。首先建立一个xml来描述这个界面,文件为res/xml/preferences.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?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参数来设置控件选中和未选中时的提示。

android-preference-screen-02

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

1
2
3
4
5
6
7
8
9
10
11
12
13
<?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>

android-preference-screen-03

EditTextPreference :输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题。

android-preference-screen-04

RingtonePreference :铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。

android-preference-screen-05

以上是PreferenceActivity的xml描述,那么在程序中我们只需要新建一个继承自PreferenceActivity的 Activity,然后在主程序中调用就可以了。这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存 储,PreferenceActivity创建后会自动创建一个配置文件/data/data/you_package_name /shared_prefs/you_package_name_you_xml_name.xml。上例中自动生成的配置文件如下:

1
2
3
4
5
6
7
8
<?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>
分享到:
评论
1 楼 tanghanlin 2011-02-28  
你不会使用 javaEye的 code功能么

相关推荐

    PreferenceActivity用法简介Android X

    PreferenceActivity用法简介 Android X

    PreferenceActivity简介

    这篇博客将深入探讨PreferenceActivity的使用方法和相关知识点。 首先,PreferenceActivity是Android SDK提供的一个基类,它继承自Activity并添加了对Preference(偏好)的支持。通过使用PreferenceActivity,...

    Android软件开发之PreferenceActivity中组件的使用

    然后在PreferenceActivity的onCreate()方法中加载这个XML文件,通常使用addPreferencesFromResource()方法。 ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...

    Android PreferenceActivity 使用练习

    本篇文章将深入探讨PreferenceActivity的使用方法以及相关知识点。 首先,我们了解`PreferenceActivity`的基本概念。`PreferenceActivity`是继承自`ListActivity`的一个类,主要用于展示一个基于列表的偏好设置界面...

    PreferenceActivity 类的使用,它可以保存设置

    为了在代码中使用PreferenceActivity,我们需要继承PreferenceActivity类,并在onCreate()方法中调用addPreferencesFromResource()方法,传入包含偏好设置的XML资源ID: ```java public class SettingsActivity ...

    继承PreferenceActivity

    标题中的“继承...虽然在最新的开发中可能较少直接使用,但理解它的工作原理和用法对于学习Android系统的设置机制和历史发展仍然非常重要。通过阅读提供的博客文章,开发者可以获得更深入的实践指导和技巧。

    Android 属性页PreferenceActivity的实现

    在`PreferenceActivity`中,我们需要通过覆盖`onCreate()`方法,并调用`addPreferencesFromResource(int)`来加载这个XML文件。例如: ```java public class SettingsActivity extends PreferenceActivity { @...

    自定义PreferenceActivity

    在Android开发中,`PreferenceActivity`是用于创建设置界面的标准组件。它允许开发者通过XML文件定义各种偏好选项,如开关、单选按钮、多选按钮等,并将它们以活动的形式展示给用户。然而,标准的`...

    仿IOS的PreferenceActivity界面

    "仿IOS的PreferenceActivity界面"就是一个这样的实践,它主要涉及到Android的Preference类和Activity的使用,以及UI样式的美化。PreferenceActivity是Android系统提供的一种用于展示设置界面的特殊Activity,它能够...

    preferenceActivity的简单使用

    虽然Android 3.0(API级别11)之后推荐使用`PreferenceFragment`替代`PreferenceActivity`,但仍然可以通过自定义布局和重写方法来实现`PreferenceActivity`的高级定制。例如,可以覆盖`onCreateHeaderView`来创建...

    自定义PreferenceActivity的样式和界面

    默认情况下,PreferenceActivity会使用一个列表视图(ListView)来显示设置项。要改变这个布局,我们可以在XML中创建一个新的布局文件,例如`custom_preference_layout.xml`,然后在我们的Activity中覆盖`...

    Android PreferenceActivity

    2. **加载XML布局**:在`PreferenceActivity`中,我们需要使用`addPreferencesFromResource(int resId)`方法来加载XML布局文件。`resId`参数是指向XML布局资源的ID。 3. **交互处理**:`Preference`类会自动处理...

    PreferenceActivity

    在这个主题下,我们将深入探讨`PreferenceActivity`的工作原理、使用方法以及相关实践。 ### `PreferenceActivity`简介 `PreferenceActivity`继承自`ListActivity`,它会自动将`Preference` XML布局文件中的各项...

    Android PreferenceActivity 学习笔记

    这篇学习笔记将深入探讨PreferenceActivity的使用方法、功能以及与源码相关的知识。 首先,PreferenceActivity是Android SDK提供的一种特殊类型的Activity,它允许开发者快速构建具有可配置选项的界面,类似于系统...

    Android之PreferenceActivity简介

    例如,可以在`onPreferenceChange`回调方法中处理这些事件,以确保应用的行为与用户的选择一致。 #### 七、总结 PreferenceActivity为开发者提供了一个强大的工具箱,可以快速构建复杂的设置界面。通过理解其工作...

    PreferenceActivity存储小dome

    随着Android版本的更新,谷歌推荐使用PreferenceFragment替代PreferenceActivity,因为前者可以在任何类型的Activity中使用,而不仅仅限于PreferenceActivity。使用PreferenceFragment,你需要创建一个Fragment,并...

    PreferenceActivity UI 优化修改

    - 可能讨论了一些辅助工具或库,如使用PreferenceFragmentCompat替换老版本的PreferenceActivity,或者使用第三方库如PreferenceFragmentX来增强功能和性能。 - 自定义工具可能包括自动化测试工具,用于检测UI性能...

    Cp3PreferenceActivity

    本篇文章将深入探讨`PreferenceActivity`的使用方法及其相关知识点。 ### `PreferenceActivity`简介 `PreferenceActivity`是Android SDK提供的一种特殊类型的Activity,专门用来展示和管理用户偏好设置。它继承自`...

Global site tag (gtag.js) - Google Analytics