目录(?)[-]

  1. PreferenceCategory
  2. Child Preference

PreferenceCategory

如果有多个preference,我们希望能在他们组织在一起。有两种方式,一种就是我们在复合preference中,利用PreferenceScreen进行嵌套,或在同一个PreferenceScreen进行并列放置,这种方式之前已经介绍过,不在重复。另一种方式是通过PrefrenceCategory进行分类。xml文件如下:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    <PreferenceCategory android:key="meats_category" 
        android:title="Meats" 
        android:summary="Preferences related to meats"> 
        <CheckBoxPreference android:key="fish_selection_pref"
            android:title="Fish" 
            android:summary="Fish is Healthy"/> 
        <CheckBoxPreference  … />  
        <CheckBoxPreference … /> 
    </PreferenceCategory>

<PreferenceCategory android:key="vegitable_category" 
        android:title="Vegetables" 
        android:summary="Preference related to Vegetables"> 
        <CheckBoxPreference android:key="tomato_selection_pref"
            android:title="Tomato" 
            android:summary="It's actually a fruit."/> 
        <CheckBoxPreference …/> 
    </PreferenceCategory> 
</PreferenceScreen>

Child Preference

有时候,preference相互间有依存性,如只有A为true时,B才有效。下面的例子是,只有选择了告警,如何告警才会有效,否则会变灰。xml文件如下:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/child_preferences"> 
    <PreferenceCategory android:title="Alerts">
        <CheckBoxPreference android:key="alter_email" 
            android:title="Send email?"/> 
        <EditTextPreference android:key="alter_email_address" 
            android:layout="?android:attr/preferenceLayoutChild"
            android:title="Email Address" 
            android:dependency="alter_email"/<!-- 设置关联,只有key为alter_email的为true,才enable本perf,同时通过android:attr/设置layout的格式 -->
    </PreferenceCategory> 
</PreferenceScreen>

本博文涉及的例子代码,可以在Pro Android学习:Preference(首选项)小例子中下载。

相关链接: 我的Android开发相关文章

最新文章

  1. PhotoShop算法原理解析系列 - 风格化---》查找边缘。
  2. PHP curl获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置
  3. 转:Java中abstract和interface的区别
  4. Visual Studio 2015 Update 3 ISO
  5. 正则表达式入门教程&amp;&amp;经典Javascript正则表达式(share)
  6. DBCP数据库连接池
  7. ios开发——实用技术篇&amp;XML协议详解
  8. JavaScript如何获取css属性
  9. 关于java堆内存溢出的几种情况(转)
  10. 6月27日CTO俱乐部下午茶印象
  11. losbyday Linux查找命令
  12. easyui-datagrid分页查询
  13. Project 5:替换指定字符串
  14. Android调用binder实现权限提升-android学习之旅(81)
  15. JS入门熟知
  16. Galaxian 小蜜蜂
  17. Oracle中文排序问题
  18. GBK 字符集
  19. Zookeeper学习笔记——1 单机版本环境搭建
  20. mysql优化(四)

热门文章

  1. 2017-2018-1 20179209《Linux内核原理与分析》第十周作业
  2. go语言之并发编程一
  3. 如何解决Asp.Net MVC和WebAPI的Controller名称不能相同的问题
  4. LeetCode:乘法表中的第K小的数【668】
  5. 【leetcode刷题笔记】Scramble String
  6. HTTPS与HTTP
  7. 20145229实验三实验报告——敏捷开发与XP实践
  8. CentOS下查看文件和文件夹大小
  9. bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队 分块
  10. PE.微PE