Android中preference标签的使用
现在做公司任务的时候,经常会要去读Settings的源码,然后发现在xml文件中几乎全是用的preferenceScreen和preferenceCategory标签,很少有用布局和控件的,然后我就自己上网看了很多有关的资料,在此总结下。
首先在res目录下,新建一个命名为xml的文件夹,然后建立一个aaa.xml文件,选择resource标签。
先使用PreferenceCategory,代码如下
<PreferenceCategory android:title="显示一排偏好" >
<CheckBoxPreference
android:key="checkbox_pre"
android:summary="这是一个开关按钮"
android:title="开关偏好" />
</PreferenceCategory>
效果图:

PreferenceCategory相当于分组,把同一类的选项放在同一块区域。
再来看看PreferenceScreen,代码如下
<PreferenceScreen
android:key="screen_pre"
android:summary="显示另一个偏好屏幕"
android:title="屏幕" >
<CheckBoxPreference
android:key="next_screen_checkbox_pre"
android:summary="另一个屏幕上的偏好"
android:title="开关偏好" />
</PreferenceScreen>
如图,
,然后发现没有checkbox显示
因为PreferenceScreen是可以点进去的,点击该选项,进入就可以看到checkbox了
然后看看ListPreference,一般都嵌在PreferenceScreen中使用,看起来比较舒服,代码如下
<PreferenceScreen android:title="基于对话框的偏好" >
<ListPreference
android:dialogTitle="选择一个"
android:entries="@array/auto_update_frequency_entry"
android:entryValues="@array/auto_update_frequency_value"
android:key="list_pre"
android:summary="使用一个列表对话框"
android:title="列表偏好" >
</ListPreference>
</PreferenceScreen>
点击该screen,listPreference会像dialog一样弹出来,如图

android:entries和android:entryValues两个属性的值来源:
在values目录下建立一个array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="auto_update_frequency_entry">
<item >10分钟</item>
<item >30分钟</item>
<item >1小时</item>
<item >12小时</item>
<item >24小时</item>
</string-array>
<string-array name="auto_update_frequency_value">
<item >10</item>
<item >30</item>
<item >60</item>
<item >720</item>
<item >1440</item>
</string-array>
</resources>
目前大概就了解了这些,以后有什么再补充
Android中preference标签的使用的更多相关文章
- android中include标签使用详解
android中include标签是为了便于控件的覆用的一个很好解决方案. 但是也有一些需要注意的地方,下面是本人在项目中碰到过的一个问题,做此记录,便于以后查看. include标签用法. ...
- Android中Preference的使用以及监听事件分析
在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局.当然,凡事都有 ...
- 【Android 界面效果25】android中include标签的使用
在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include ...
- 二十二、android中application标签说明
<application> <applicationandroid:allowClearUserData=["true" | "false"] ...
- Android中include标签的使用(打开引用布局,隐藏当前布局)
在开发app的时候,有时候一个布局会反复用到,可以把反复用到的布局单独写一个xml文件,什么时候用到就用includ标签引入xml 下面是我写的反复用到的一个xml,里面有2个button,一个Tex ...
- Android中<original-package>标签含义
在AndroidManifest.xml中,<original-package>与<manifest package=...>中的区别:<original-package ...
- Android中include标签的使用
在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能.但是,如果是一个复杂的界面设计,我们把所有布局都放在一个 ...
- Android manifest文件中的标签详细介绍
官方文档 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如:--为Java应用程序指定一个独一无二的名字 ...
- Android 中的 WebView实现 Html5 标签网页加载
自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并 ...
随机推荐
- 修复 海盗船 k70 lux 未检测到设备(k70 no device detected)
corsair k70 lux 上周收到的生日礼物,头一次用机械键盘,还是这么高端的机械键盘(729RMB),手感一级棒.但是,有问题啊!把键盘上的 bios按钮拨到8上电脑可以识别,scroll 灯 ...
- 《Effective C++》第4章 设计与声明(1)-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- JWT的详细简介
什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场 ...
- Linux系统在启动过程中启动级别发生错误的解决办法
一.系统启动级别一共有六个: 0:系统停机模式,系统不可以正常启动 1:单用户模式, root权限,用于系统的维护,禁止远程登陆 2:多用户模式,没有NFS网络支持 3:完整的多用户文本模式,有NFS ...
- Linux:history命令详解
Linux下History命令 主要用于显示历史指令记录内容, 下达历史纪录中的指令 . 语法 history [n] history [-c] history [-raw] histfiles ...
- cmakelist
cmake 添加头文件目录,链接动态.静态库 罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: incl ...
- [AirFlow]AirFlow使用指南四 DAG Operator Task
1. DAG 在Airflow中,DAG或有向无环图是你运行所有任务的集合,以某种组织方式来反映所有任务之间的关系和依赖. 例如,一个简单的DAG可以包括三个任务:A,B和C.可以说A必须在B运行之前 ...
- Unity 2d 的 SpriteMask为游戏表现带来多种可能性
孙广东 2017.7.22 http://blog.csdn.NET/u010019717 SpriteMask 是Unity 2017.1 开始添加2d功能!, Spri ...
- Redis的集群安装以及rehash重新迁移教程指南
1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群 ...
- ROS机器人操作系统在线练习
废话不说,先看图吧: 1. ROS in 5 Days Entering ROS 2. ROS Navigation in 5 Days Mastering ROS 3. ROS Autonomous ...