zoukankan      html  css  js  c++  java
  • android设置中PreferenceActivity的 小结

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


    PrefeneceActivity提供了以下几项


        常用参数说明

    title:显示标题(大字体显示)

    summary:副标题(小字体显示)

    key:唯一标识(至少在同一程序中是唯一),SharedPreferences也将通过此Key值进行数据保存,也可以通过key值获取保存的信息 (以下相同)

    dependency:标识此元素附属于某一个元素(通常为CheckBoxPreference),dependency值为所附属元素的key。例如代码中的Preference元素的值,等于的CheckPreference元素的key,当CheckPreference被选中时,Preference则为可用,否则为不可用。

    persistent:是否要将preference存储到shared preferences中。





    +++++++++++++++++++++++++


    1. PreferenceScreen:用作xml的根元素。用它可嵌套形成 二级设置页面,还可以Intent启动 指定的activity


    2. PreferenceCategory用于分组,它可以将几个 模块 组合在一起然后 可用Title参数 设置个大标题,相当于一个分界线的东西一样,它的上面和下面分别属于不同类型的设置。

    3. CheckBoxPreference:是一个CheckBox设置,值的类型是布尔值:true或false。

    summaryOn和summaryOff 参数 来设置控件选中和未选中时的提示

    defaultValue="true" 第一次 使用是 选中。


    4. ListPreference列表选择,弹出对话框供选择

    dialogTitle设置下拉框的标题

    defaultValue=“0” //注意,0 默认 选中 第一项,1 默认 选中 第二项,以此类推,defaultValue 的值是 字符型。

    entries 和 entryValues分别表示 显示的值 和 代码中获取的真正的值,他们一定要是 字符数组下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示,例如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:输入框控件,点击后 弹出一个输入框,值为String类型

    dialogTitle参数 设置输入框的标题


    6. RingtonePreference:弹出铃声选择框,点击后可选择 系统铃声。

    dialogTitle参数设置铃声选择框的标题,值的类型是string


    7.Preference:只是 单一的 显示文本信息,不能够 嵌套 显示 二级界面;

      

           以上是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属性表示某一个设置项,值是唯一的,boolean以及string中间的值表示设置项的具体值。


    如何响应PreferenceActivity的操作

    只要重写PreferenceActivity的 onPreferenceTreeClick的方法就可以了,通过参数preference来判断是对那一个元素进行的,并根据需要进行操作。代码如下:

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                Preference preference) {
        // TODO Auto-generated method stub
        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }

    这样到此为止,我们在APP中就实现了设置功能。


  • 相关阅读:
    matlab练习程序(灰度图直方图均衡化)
    二叉查找树
    hadoop入门介绍
    配置虚拟机Ubuntu网络连接
    hadoop ubuntu (单节点)部署
    Thrift
    linux打包压缩命令汇总
    [转载]ubuntu 启动流程
    linux命令大全
    Linux文件查找命令find,xargs详述
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744732.html
Copyright © 2011-2022 走看看