zoukankan      html  css  js  c++  java
  • android设置中常用的PreferenceActivity用法介绍

    //引用自:http://blog.csdn.net/wujiangming/article/details/6216154

    今天主要研究了一下设置界面中用得比较多的PreferenceActivity,它包含了许多类似控件的东西来表示不同的设置需求如分类设置,选择框设置,下拉列表设置,编辑框设置,铃声设置,而且这些设置不需要我们自己来保存用户设置的数据,它自己会将数据保存在xml文件当中。下面是PreferenceActivity中各个组件的介绍。

    1. PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题(这个还可以作为单独的activity来启动设置界面,暂没有研究)。

    2. PreferenceCategory:某一类相关的设置,可用Title参数设置标题,相当于一个分界线的东西一样,它的上面和下面分别属于不同类型的设置。

    3. CheckBoxPreference:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示,可以用defaultValue设置缺省值。

    4. ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle设置下拉框的标题,下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示,entries和entryValues分别表示显示的值和代码中获取的真正的值。例如array.xml设置如下:   
    <?xml version ="1.0" encoding ="utf-8" ?>
    <resources>
    <string-array name ="entries_list_preference" >
        <item> test1</item>
        <item> test2</item>
        <item> test3</item>
    </string-array>
    <string-array name ="entriesvalue_list_preference" >
        <item> 1</item>
        <item> 2</item>
        <item> 3</item>
    </string-array>
    </resources>

    5. EditTextPreference:输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题。

    6. RingtonePreference:铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。

    7. 以上是PreferenceActivity的xml描述,那么在程序中我们只需要新建一个继承自PreferenceActivity的 Activity,然后在主程序中调用就可以了。这个PreferenceActivity中的设置存储是完全自动的,你不需要再用代码去实现设置的存储,PreferenceActivity创建后会自动创建一个配置文件/data/data/your_package_name /shared_prefs/(your_package_name)_preferences.xml。自动生成的配置文件如下:

       
    <?xml version ='1.0' encoding ='utf-8' standalone ='yes' ?>
    <map>
    <string name ="EditTextPreference" >12332312</string>
    <string name ="ListPreference" >2</string>
    <string name ="RingtonePreference" >content://media/internal/audio/media/10</string>
    <boolean name ="CheckBox1" value ="true" />
    <boolean name ="CheckBox2" value ="true" />
    </map>

    文件中的name属性对应xml文件中的key属性表示某一个设置项,值是唯一的,value以及string中间的值表示设置项的具体值。

  • 相关阅读:
    Spring Boot 结合 Redis 序列化配置的一些问题
    基于SpringBoot的代码在线运行的简单实现
    将Spring实战第5版中Spring HATEOAS部分代码迁移到Spring HATEOAS 1.0
    用Spring Security, JWT, Vue实现一个前后端分离无状态认证Demo
    使用最新AndroidStudio编写Android编程权威指南(第3版)中的代码会遇到的一些问题
    C# 内存管理优化畅想----前言
    C# 内存管理优化实践
    C# 内存管理优化畅想(三)---- 其他方法&结语
    C# 内存管理优化畅想(二)---- 巧用堆栈
    C# 内存管理优化畅想(一)---- 大对象堆(LOH)的压缩
  • 原文地址:https://www.cnblogs.com/fwycmengsoft/p/2276795.html
Copyright © 2011-2022 走看看