Android中PreferenceFregment使用完全攻略

如果你从搜索引擎找到这篇《Android中PreferenceFregment使用完全攻略》文章,那么恭喜你,你来对地方了。我可以很负责任的告诉你,在这篇文章之前,没有一篇完整叙述PreferenceFregment使用的完整文章。

在Android的应用中通常都有setting功能,能够设置一些全局的选项,例如字体颜色,个人喜好等等。

这些东西都是存在一个xml中的,在android中对应的对象就是SharedPreferences。

本文全部源码下载:

FTP地址:ftp://ftp1.linuxidc.com

用户名:

密码:

在 2013年LinuxIDC.com\9月\Android中PreferenceFregment使用完全攻略

下载方法见

---------------------------------分割线---------------------------------

下面就是一个完整使用PreferenceFregment的例子,先看结果:

PreferenceFragment 还是 PreferenceActivity

很明显PreferenceFragment 是Fregment, PreferenceActivity是Activity。

当你的应用针对的系统在3.0以上的时候,你就应该用PreferenceFragment,现在主流系统4.0的情况下,当然选择使用PreferenceFragment。原因是PreferenceFragment是一个更加平滑的结构,你可以将它依附在任何的activity上面,谷歌强力推荐使用PreferenceFragment!

常用Preference

CheckPreference —— CheckBox 单选框

EditTextPreference —— EditText 输入文本框

ListPreference —— ListView 列表框

RingtonePreference —— 选择铃声

XML定义常用的属性有:

android:key : 每个Preference控件独一无二的”ID”,唯一表示此Preference。

android:defaultValue : 默认值。 例如,CheckPreference的默认值可为”true”,默认为选中状态;

EditTextPreference的默认值可为”110” 。

android:enabled : 表示该Preference是否可用状态。

android:title : 每个Preference在PreferenceScreen布局上显示的标题——大标题

android:summary : 每个Preference在PreferenceScreen布局上显示的标题——小标题(可以没有)

ListPreference中:

android:entries:类型为array,控件欲显示的文本

android:entryValues:类型为array,与文本相对应的key-value键值对,value保存至sharedPreference文件

PreferenceFragment 使用步骤

1.定义preference

在项目的res/xml中新建一个preferences.xml.用于定义菜单界面的设置选项:

<PreferenceScreen
        xmlns:android="">

<PreferenceCategory
            android:title="PreferenceCategory A">

<CheckBoxPreference
                android:key="checkbox_preference"
                android:title="title_checkbox_preference"
                android:summary="summary_checkbox_preference" />

</PreferenceCategory>

<PreferenceCategory
            android:title="PreferenceCategory B">

<EditTextPreference
                android:key="edittext_preference"
                android:title="title_edittext_preference"
                android:summary="null" 
                android:dialogTitle="dialog_title_edittext_preference"
                android:defaultValue="null" />

<ListPreference 
            android:dialogTitle="Choose font" 
            android:entries="@array/pref_font_types" 
            android:entryValues="@array/pref_font_types_values" 
            android:key="list_preferenc" 
            android:summary="sans" 
            android:title="Font"
            android:defaultValue="sans"/>
    </PreferenceCategory>

</PreferenceScreen>

android:entries 和 android:entryValues 定义在res/values/strings.xml中

<string>AndroidPreferenceFragment</string>
    <string>Hello world!</string>
    <string>Settings</string>
    <string>MainActivity</string>
   
    <string-array>
        <item>sans</item>
        <item>serif</item>
        <item>monospace</item>
        <item>Yahei</item>
    </string-array>
    <string-array>
        <item>sans</item>
        <item>serif</item>
        <item>monospace</item>
        <item>Yahei</item>
    </string-array>

推荐阅读:

Android Preference存取数据  

Android开发教程:数据存取之Preference浅析

Android Preference Framework 

Android中Preference的使用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/425fee7d09cdc9852b88f6ecef087bc7.html