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
分享到:
相关推荐
自定义preference的checkboxpreference样式
Android提供了一种健壮并且灵活的框架来处理首选项。它提供了简单的API来隐藏首选项的读取和持久化,并且提供了一个优雅的首选项界面。 几种常见的首选项: (1)CheckBoxPreference:用来打开或关闭某个功能 (2)...
9.3 以编程方式操作首选项 9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性概念概述 10.1.2 为部署签名应用程序 10.2 ...
android5.0后,google对checkbox,switch,radio做了动画效果,包括这些类衍生的Preferen控件:SwitchPreferenc,CheckBoxPreference 但这其中并没有RadioPreference控件。假如你需要RadioPreference或者一个带特殊功能...
此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, RingtonePreference, EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制...
9.3 以编程方式操作首选项 9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性概念概述 10.1.2 为部署签名应用程序 10.2 ...
android5.0后,google对checkbox,switch,radio做了动画效果,包括 SwitchPreferenc,CheckBoxPreference 其中并没有RadioPreference控件。假如你需要RadioPreference或者一个带特殊功能的Preferece,当然你会选择了...
Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Preference的布局。 Preference组件有ListPreference,EditTextPreference,...
本文实例讲述了Android开发实现浏览器全屏显示功能。分享给大家供大家参考,具体如下: 业务需求:浏览器设置中支持...CheckBoxPreference android:key=full_screen android:defaultValue=false android:title=@stri
Preference demo good good study day day up
需要向里面添加首选项控件,原生的这些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每种控件至少包含4种属性:android:key,android:title,...
大概思路: 首先我先添加这一个checkboxPreference,然后将是否选择这一功能的值(0和1)存到data/data/com.android.providers.settings /databases/settings.db数据库的system表中 ,然后再根据数据库表中的值在...
主要介绍了Android 中CheckBox的isChecked的使用实例详解的相关资料,需要的朋友可以参考下
正如您所拥有的 EditTextPreference 或 CheckboxPreference 一样,我需要一个带有数字选择器的简单对话框,该对话框可通过 xml 进行配置并自动更新其摘要。 您可以在下面找到屏幕截图。 #Usage 如果您使用 ...