Preference,PreferenceCategory,PreferenceList,PreferenceCheckBox等控件的简单讲解

这篇博客解释了为何在Android settings页面中使用Preference而不是普通控件,因为Preference能自动保存并检索值。介绍了PreferenceActivity的不便,推荐使用Activity+Preference XML文件的方式。文章提到了Preference、PreferenceCategory、SwitchPreference、CheckBoxPreference和RingtonePreference的用法,并指出它们与普通控件的关系。此外,还展示了各种Preference的效果图,并简述了每个控件的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有人会纳闷,为什么不使用普通的控件去写settings页面,非得要preference来写,这是有原因的,Preference可以自动保存上一次操作的值,并且preference会自动将自己的值保存在shared Preference里面,而preference的key作为在shared Preference的主键,用来检索preference保存的值,这就是preference的特点,settings页面需要对当前操作进行保存,普通控件的保存繁琐,所以使用preference是明智之举。Android里面有一个PreferenceActivity,但是创建PreferenceActivity会附带很多xml文件等,反而增加了编程的学习时间和成本,所以不建议使用,比较折中的方法是使用普通的Activity+preference的xml文件来使用,我在上一篇博文中也提到这个,这里只对Activity+Preference的方法做举例。

如何创建和使用Preference页面,我在上一篇博文里有详细提及,这里就不详细说明了,想要了解的小伙伴可以都这里查看:Settings设置页面的Preference使用方法

PreferenceScreen的资源文件里,有以下几种控件,都相对应着不同的普通控件:如下

preference控件 相似 特征
preference textView 可以保存一些文本数据
CheckBoxPreference CheckBox 多选
EditTextPreference EditText 编辑文本
ListPreference ListView 单选,也类似多个RadioButon
PreferenceCategory LinearLayou、RelativeLayout 可以对不同的preference控件进行分类
SwitchPreference RadioButton,CheckBox 有开和关的选择,常用
RingtonePreference 铃声 自动加载系统的铃声,并可供选择
PreferenceScreen 所有Preference元素的根节点

看一下效果图:

Preference和CategoryPreference效果图
Preference和CategoryPreference

SwitchPreference效果图
这里写图片描述

CheckBoxPreference效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值