http://edu.gamfe.com/tutor/d/36925.html

PreferenceScreen preference是偏好,首选的意思,PreferenceScreen个人翻译成 “偏好显示”,明白这个意思就好,就是说根据特点灵活的定义显示内容风格,一个屏幕可以包含多个风格,像系统自带的声音设置界面。

  实现这种显示效果其实很简单,只需要借助PreferenceScreen类即可。在项目资源文件中新建xml文件夹,在里面新建preferences.xml文件.

  根元素为PreferenceScreen 代表显示一整个屏幕,内部嵌套PreferenceCategory标签,表示偏好类别,在PreferenceCategory标签内部可以随便存放复选框,输入框,列表等显示控件.可包含的控件内容在android.preference包下可查阅.xml文件编写好后,需要加载到activity 中,对于偏好显示的xml加载,可以使用PreferenceActivity中的addPreferencesFromResource(),所以 Activity需要继承PreferenceActivity.既然显示的屏幕中包含复选框,输入框的控件,我们必然对选择与否,输入框内容感兴趣,我们要怎样获取屏幕的内容呢?

  复写activity中的onPreferenceTreeClick 方法,在对屏幕显示的内容进行操作时,会触发此方法,在方法内部通过调用

  

Java代码SharedPreferences contentPreference = preference.getSharedPreferences();boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference", false);String animalName = contentPreference.getString("edittext_preference", "default");SharedPreferences contentPreference = preference.getSharedPreferences();boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference", false);String animalName = contentPreference.getString("edittext_preference", "default");

  即可得到屏幕上输入的内容,与使用SharedPreference对象一样,通过key-value 的形式获取,其中key是xml控件标签中key属性对应的值.

  显示效果:

  

对应xml文件:Java代码 < ?xml version="1.0" encoding="utf-8"?>< PreferenceScreen xmlns:andro> < PreferenceCategory android:title="显示一排偏好">< CheckBoxPreference android:key="checkbox_preference" android:title="开关偏好" android:summary="这是一个开关按钮" /> < /PreferenceCategory>< PreferenceCategory android:title="基于对话框的偏好">< EditTextPreference android:key="edittext_preference" android:title="文本输入偏好" android:summary="使用一个文本框对话框" android:dialogTitle="输入你的宠物" />< ListPreference android:key="list_preference" android:title="列表偏好" android:summary="使用一个列表对话框" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="选择一个" /> < /PreferenceCategory>< PreferenceCategory android:title="启动偏好">< PreferenceScreen android:key="screen_preference" android:title="屏幕" android:summary="显示另一个偏好屏幕">< !-- You can place more preferences here that will be shown on the next screen. -->< CheckBoxPreference android:key="next_screen_checkbox_preference" android:title="开关偏好" android:summary="另一个屏幕上的偏好" /> < /PreferenceScreen>< PreferenceScreen android:title="意图偏好" android:summary="通过意图启动一个Activity">< intent android:action="android.intent.action.VIEW" android:data="http://www.android.com" /> < /PreferenceScreen> < /PreferenceCategory>
< PreferenceCategory android:title="偏好属性">< CheckBoxPreference android:key="parent_checkbox_preference" android:title="父开关" android:summary="这是一个父开关" />
< CheckBoxPreference android:key="child_checkbox_preference" android:dependency="parent_checkbox_preference" android:layout="?android:attr/preferenceLayoutChild" android:title="子开关" android:summary="这是一个子开关" />
< /PreferenceCategory> < /PreferenceScreen>

转载于:https://www.cnblogs.com/anee/archive/2011/12/07/2675910.html

使用 Android PreferenceScreen 偏好显示类(android.preference.PreferenceScreen)相关推荐

  1. Android中设置显示文本,Android文本显示控件-TextView属性详解

    android:autoLink //设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web /email/phone/map/all) andr ...

  2. android gridview横向显示图片,Android使用Gridview单行横向滚动显示

    本文实例为大家分享了Android使用Gridview单行横向滚动显示的具体代码,供大家参考,具体内容如下 要想实现滚动显示,layout布局里必须要使用HorizontalScrollView,才能 ...

  3. android 软键盘工具类,Android软键盘管理工具类

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一个软键盘管理类,单例模式实现的. /** * 类功能描述:软键盘管理界面 * */ public class Inpu ...

  4. android语音播放工具类,Android开发之MediaPlayer多媒体(音频,视频)播放工具类

    本文实例讲述了Android开发之MediaPlayer多媒体(音频,视频)播放工具类.分享给大家供大家参考,具体如下: package com.android.imooc.chat; import ...

  5. android m权限工具类,android M权限适配,简单工具类

    很简单没什么说的, 因为项目大了,不能轻易引入第三方库,同时确实也没必要为了适配下权限就引入一个库. 这里写了个处理权限的工具类(部分借鉴的,勿喷),不嫌弃的话拿去! 用法: 1.申请权限: Perm ...

  6. Android生命周期工具类,Android倒计时工具类

    多谢touch_ping 的回应.  原来api有这个类  android.os.CountDownTimer , 具体实现很下面的差不多. import android.content.Contex ...

  7. android gps定位工具类,Android原生GPS和网络定位工具类

    在应用开发中我们常常需要网络获取位置的方法,这里做一个工具类的封装,使用的是Android原生定位,包含两种方式,一种是原生GPS一种是网络定位的封装实现: 工具类代码如下所示: package co ...

  8. android 软键盘工具类,Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...

  9. android rsa加密工具类,android RSA加密

    释放双眼,带上耳机,听听看~! 这个RSA加密其实自己也没有完全弄清楚,只是在网上自己找了一些资料,也是为了记录自己的代码. 概述 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事 ...

  10. android 系统倒计时显示时间,Android 依据系统时间整点、半点倒计时

    activity_main.xml中的代码 xmlns:android="http://schemas.android.com/apk/res/android" android:l ...

最新文章

  1. nfine框架 上传文件_网站服务器Nginx运行环境,后台文件上传超出Nginx的最大值...
  2. css鼠标变成小手_技巧篇:CSS高级技巧详解
  3. django 正则捕捉路径 re_path函数
  4. 程序员专属段子集锦 5/10
  5. erlang 变量存储在哪里_erlang中变量作用域
  6. 在操作系统中进程是如何通信的
  7. 数字图像处理合集终章——车流量统计(后附源码)
  8. 调查丨融资企业数量不如出台政策多,产业区块链破局路在何方?
  9. asp.net开源资料——国内.NET论坛源代码
  10. 统计学 |辛普森悖论
  11. 什么是软件工程?它有哪些本质特征?怎么样用软件工程消除危机?
  12. 合肥工业大学计算机与信息学院胡敏,合肥工业大学计算机与信息学院导师介绍:胡敏...
  13. 空间|时间|对象 圈人 + 目标人群透视 - 暨PostgreSQL 10与Greenplum的对比和选择
  14. 计算机教学得意之处,wysxhl
  15. 不符合正态分布的配对数据也有自己的统计方法。
  16. 联想小新锐7000 装win7系统图解
  17. 程序员钱多多准备应聘拼多多
  18. 推理机Jess,Racer,Jena
  19. 雅虎說【用戶將無法從中國大陸使用 Yahoo 的產品與服務】电话号码选项中将(+86)删除
  20. mysql查询工资最高三人6_MySQL T6 数据库操作——查询(三)高级查询

热门文章

  1. 使用Tampermonkey进行JavaScript编程
  2. docker阿里云镜像加速器
  3. scratch 极简坦克大战
  4. 【知识点总结】大数据技术原理与应用
  5. S32K144 S32K148 UDS诊断 BOOTLOADER开发 ISO14229 15765 软件定 基于UDS协议的CAN总线Bootloader设计 具体价格以咨询为主 UDS 诊断
  6. 中国光谷·“华为杯”第十九届中国研究生数学建模竞赛LaTeX模版
  7. IntelliJ IDEA导入Spring源码
  8. 中国支付清算发展简史
  9. c语言五大常用算法,C语言------五大常用算法总结
  10. 计算机与生物的关系论文题目,生物论文