现在做公司任务的时候,经常会要去读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标签的使用的更多相关文章

  1. android中include标签使用详解

    android中include标签是为了便于控件的覆用的一个很好解决方案.   但是也有一些需要注意的地方,下面是本人在项目中碰到过的一个问题,做此记录,便于以后查看.   include标签用法. ...

  2. Android中Preference的使用以及监听事件分析

    在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局.当然,凡事都有 ...

  3. 【Android 界面效果25】android中include标签的使用

    在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include ...

  4. 二十二、android中application标签说明

    <application> <applicationandroid:allowClearUserData=["true" | "false"] ...

  5. Android中include标签的使用(打开引用布局,隐藏当前布局)

    在开发app的时候,有时候一个布局会反复用到,可以把反复用到的布局单独写一个xml文件,什么时候用到就用includ标签引入xml 下面是我写的反复用到的一个xml,里面有2个button,一个Tex ...

  6. Android中<original-package>标签含义

    在AndroidManifest.xml中,<original-package>与<manifest package=...>中的区别:<original-package ...

  7. Android中include标签的使用

    在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能.但是,如果是一个复杂的界面设计,我们把所有布局都放在一个 ...

  8. Android manifest文件中的标签详细介绍

    官方文档 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如:--为Java应用程序指定一个独一无二的名字 ...

  9. Android 中的 WebView实现 Html5 标签网页加载

    自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并 ...

随机推荐

  1. Datastage8.5导入导出DS作业例子

    以下为Datastage8.5的命令行方式的导入和导出,直接登陆服务器执行如下命令即可.不是Datastage客户端的导入和导出,使用命令行方式的好处是:可以将该命令使用shell脚本进行调用导入和导 ...

  2. React-Native进阶_5.导航 Naviagtion

    有这样一个组件 他可以控制页面跳转 返回,在移动端叫做导航控制器, 在RN中叫路由 我们使用的  react-native-navigation 是一个开源组件库介绍:A complete nativ ...

  3. React Native组件(二)View组件解析

    相关文章 React Native探索系列 React Native组件系列 前言 了解了RN的组件的生命周期后,我们接着来学习RN的具体的组件.View组件是最基本的组件,也是首先要掌握的组件,这一 ...

  4. 利用pandas随机切分csv文件

    把数据集随机切分为训练集和测试集 method 1: df = pd.read_csv('data/tgnb_merge.csv', encoding='utf-8') df.drop_duplica ...

  5. 如何从github下载项目的源代码,包含git客户端,直接下载,vs下载

    有好多小伙伴可能刚刚接触github,还不知道如果和github下载项目,此处写个博客统一的声明.从多种方式下载源代码,加深对git的理解. 首先先解释下git的含义,git是一个源代码的管理工具,通 ...

  6. windows cmd 命令行 —— 进程与服务

    1. 进程查看与操作 tasklist tskill pid 2. 服务查看与操作 net start net stop

  7. Vue之通过代理设置跨域访问

    我们使用脚手架创建的项目,可以在config项目中看到

  8. Git 中文教程

    以下内容转载自:http://www.open-open.com/lib/view/open1328928294702.html Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点 在于 ...

  9. SEO - H标签

    前言 这两天在做网站的SEO.虽然之前SEO的资料看过很多,但是因为正职是美工的缘故,SEO的具体实施参与的较少.现在的公司有点特殊,SEO团队基本不懂代码,所以需要参与的比较多.以下内容主要是通过自 ...

  10. ios逆向工程-动态分析

    先说说为什么要分析应用吧,如果你想从一个ios应用中获取有用的信息,或者你想修改该应用的一些功能,前提当然是要先知道该app的逻辑和结构了. 动态分享工具比较少,我们先分析个简单的,全民工具Cycri ...