ListPreference首选项显示了一个列表作为它的UI元素。类似地,CheckBoxPreference 首选项显示了一个复选框部件作为它的UI元素,更多关于ListPreference的介绍请参考这篇文章
http://byandby.iteye.com/blog/1044916
为了扩展航班搜索示例应用程序,假设希望让用户设置他希望在结果集中看到的列。此首选项显示可用的列,支持用户通过勾选响应的复选框来选择期望的列,如下图。
此首选项的XML 文件,此XML 文件存放路径为 /res/xml/chkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="flight_columns_pref" android:title="Flight Search Preferences"
android:summary="Set Columns for Search Results">
<CheckBoxPreference android:key="show_airline_column_pref"
android:title="Airline" android:summary="Show Airline column" />
<CheckBoxPreference android:key="show_departure_column_pref"
android:title="Departure" android:summary="Show Departure column" />
<CheckBoxPreference android:key="show_arrival_column_pref"
android:title="Arrival" android:summary="Show Arrival column" />
<CheckBoxPreference android:key="show_total_travel_time_column_pref"
android:title="Total Travel Time" android:summary="Show Total Travel Time column" />
<CheckBoxPreference android:key="show_price_column_pref"
android:title="Price" android:summary="Show Price column" />
</PreferenceScreen>
我们的PreferenceActivity 类CheckBoxPreferenceActivity
package xiaohang.zhimeng;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class CheckBoxPreferenceActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.chkbox);
}
}
上边给出了首选项的XML文件 chkbox.xml,以及一个简单的活动类,该类使用addPreferencesFromResource() 来加载首选项XML文件。可以看到,UI具有5个复选框,每个复选框都使用首选项XML 文件中的 CheckBoxPreference 节点表示。每个复选框还有一个key,在保存所选的首选项时,该键最终将用于持久化UI元素的状态。有了 CheckBoxPreference,在用户设置首选项的状态时,该状态将会保存。换句话说,当用户选择或取消选择首选项控件时,将保存该控件的状态,下面给出了首选项的 数据存储,我们可以读一下。
我们可以看到每个首选项都是通过key来保存的 key就对应 boolean 元素的name 属性。CheckBoxPreference 的数据类型为boolean, 它包含一个true值或false值:true值表示选中了首选项,false值表示未选中首选项。要读取一个复选框的首选项的值,可以访问共享对象的首选项,然后调用 getBoolean()方法,将首选项的 key 传递给它:
Boolean option = prefs.getBoolean(“show_price_column_pref”,false);
CheckBoxPreference 的另一个有用的特性是,可以根据是否选中了复选框来设置不同的摘要文本。它的两个特性是 summaryOn和 summaryOff,就比如我们可以这样玩。
<CheckBoxPreference android:key="show_price_column_pref"
android:summaryOff="11111111"
android:summaryOn="222222222"
android:title="Price" />
选中状态和未选中状态显示不同的摘要
源码大家参考
http://byandby.iteye.com/blog/1044916 这篇文章 下载源码,然后修改 就OK 了。
- 大小: 32.9 KB
- 大小: 40.3 KB
- 大小: 7.5 KB
- 大小: 8.1 KB
分享到:
相关推荐
本章主要讨论 Android 的安全性和首选项的管理,包括 Android 的安全模型、权限管理、首选项的架构和组织等。 8.1 Android 的安全性 Android 的安全性是基于 Linux 操作系统的安全机制,Android 的每个应用程序都...
【Android首选项Preference详解】 首选项(Preference)在Android应用中主要用于实现用户的个性化设置,即用户可以根据自己的喜好调整应用的一些参数。它是Android系统提供的一种便捷的数据存储方式,通常用于存储...
Android提供了一种健壮并且灵活的框架来处理首选项。它提供了简单的API来隐藏首选项的读取和持久化,并且提供了一个优雅的首选项界面。 几种常见的首选项: (1)CheckBoxPreference:用来打开或关闭某个功能 (2)...
1. 创建首选项的XML配置文件:在/res/xml目录下创建一个XML文件,例如`preferences.xml`,定义各个首选项的键值对和属性。 ```xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">...
2. SwitchPreference:在Android 5.0(Lollipop)后引入,显示为滑动开关,功能与CheckBoxPreference类似,但视觉效果更佳。 3. EditTextPreference:允许用户输入文本,常用于设置用户名、密码等。 4. ...
6. **首选项(Preference)**:设置界面的大部分由Preference类及其子类构成,如CheckBoxPreference、SwitchPreference等。源码展示了如何定义和使用这些首选项,以及如何响应用户的点击和更改事件。 7. **服务...
`android:entries`属性定义可见的选项列表,`android:entryValues`则为每个选项对应的值,这些值会存储在SharedPreferences中。 在`PrefereceActivity`中,我们通常会通过XML布局文件定义`Preference`。例如,创建...
2. **RadioButtonPreference**:在一组互斥的选项中,用户只能选择其中一个,适合用于设定首选项的多个可选项。 3. **SwitchPreference**:随着Android系统版本的更新,SwitchPreference成为更受欢迎的选择,因为它...
3. ListPreference:显示一个下拉列表供用户选择,常用于设置有限的选项。 4. SwitchPreference:在API 21及以上版本中引入,提供了一个开关样式的选择项。 5. DialogPreference:基类,用于创建弹出对话框的...
- `CheckBoxPreference` 的 `android:key` 分别设置为 “apply_wifi” 和 “apply_gps”,分别代表是否启用无线网络定位和GPS定位。 - `android:summary` 用来描述各个选项的功能。 - `android:defaultValue` 用于...
3. `android:summary`:选项的简短说明,一般用来描述选项的作用。 4. `android:entries`:列表中显示的文本,用户可以看到的选项名,如`@array/flight_sort_options`。 5. `android:entryValues`:每个列表项对应的...
Settings 应用主要由多个模块组成,如首选项框架(Preference Framework)、活动(Activities)、片段(Fragments)和服务(Services)。源码中包含了多个以 `.java` 结尾的文件,这些文件分别对应不同的功能模块。...
6. **xml**:这个目录下的XML文件通常用来定义首选项(Preferences)及其关联的设置值。例如`preferencescreen.xml`定义了设置屏幕的层级结构。 在Android 5.0的Settings源码中,有几个关键概念值得深入研究: 1. ...
在Android开发中,首选项(Preference)框架是一个关键部分,它允许开发者创建用户界面来管理应用的设置。这篇博文“android 探索首选项框架xxxPreference”深入剖析了这一核心组件,通过源码分析和实践工具的应用,...
首先,PreferenceActivity是Android SDK提供的一种特殊类型的Activity,它允许开发者快速构建具有可配置选项的界面,类似于系统设置应用中的各种设置页面。通过使用PreferenceScreen和各种Preference子类(如...
它使得开发者可以轻松地构建具有各种设置选项的界面,如开关、单选按钮、复选框等,而无需从头编写大量的XML和Java代码。本文将深入探讨`PreferenceActivity`的实现及其相关知识点。 首先,`PreferenceActivity`是...
1. **res/xml/setting.xml**: 这个XML文件定义了设置应用中的所有选项和分类。例如,`sound_and_display_settings.xml`包含了声音和显示相关的设置项,如`Orientation`。 2. **源代码(src)**: 源码按照Java的包...
在Android开发领域,新手经常会遇到各种挑战,"TestofPrefrence.rar"这个压缩包很可能包含了帮助初学者理解和实践Android首选项(Preference)设置的相关资源。Preference在Android应用中扮演着重要的角色,它允许用户...
在Android 4.0(Ice Cream Sandwich)系统中,`settings`模块是核心组件之一,它负责提供系统设置界面和管理各种系统级别的配置选项。这个模块的源代码深入揭示了Android如何处理用户对设备的各种个性化设定。让我们...