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的性能大幅度提升,并 ...
随机推荐
- LeetCode OJ:Reorder List(重序链表)
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...
- 【LeetCode 110_二叉树_遍历】Balanced Binary Tree
解法一:From top to bottom int treeHeight(TreeNode *T) { if (T == NULL) ; ; } bool isBalanced(TreeNode* ...
- 批量归一化batch_normalization
为了解决在深度神经网络训练初期降低梯度消失/爆炸问题,Sergey loffe和Christian Szegedy提出了使用批量归一化的技术的方案,该技术包括在每一层激活函数之前在模型里加一个操作,简 ...
- mysql 导入 csv文件中数据,只能导入第一行
用workbench导入csv数据,只能导入数据的第一行,也就是标注每一列的列名的那一行.但问题是,每次导入完成时,系统提示已经导入了500条记录(这个文件中的确有500条记录),可是刷新数据库后打开 ...
- java面试题08
1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;编译时错误.对于shor ...
- MD5加盐加密
package com.chauvet.utils; import java.security.NoSuchAlgorithmException; import java.util.Random; / ...
- 接口测试框架——第一篇-大框架和setting.py常量文件
基础知识已经准备的差不多了,今天开始我们就开始写我们的接口测试框架,框架结构已经说过了: 今天我们先完善需要的常量,也就是setting.py文件中的内容,代码如下: # coding: utf-8 ...
- [BZOJ5338][TJOI2018]xor
bzoj luogu descirption 现在有一棵以 \(1\) 为根节点的由 \(n\) 个节点组成的树,树上每个节点上都有一个权值 \(v_i\) .现在有 \(Q\) 次操作,操作如下: ...
- C#封装的一个JSON操作类
using System; using System.Collections.Generic; using System.Collections; using System.Text; using S ...
- cocos2dx ScrollView的用法
http://blog.csdn.net/u014096244/article/details/21525789 http://bbs.9ria.com/thread-199305-1-1.html ...