歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中PreferenceFregment使用完全攻略

提要

如果你從搜索引擎找到這篇《Android中PreferenceFregment使用完全攻略》文章,那麼恭喜你,你來對地方了。我可以很負責任的告訴你,在這篇文章之前,沒有一篇完整敘述PreferenceFregment使用的完整文章。

在Android的應用中通常都有setting功能,能夠設置一些全局的選項,例如字體顏色,個人喜好等等。

這些東西都是存在一個xml中的,在android中對應的對象就是SharedPreferences。

本文全部源碼下載:

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

用戶名:www.6688.cc

密碼:www.linuxidc.com

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

下載方法見 http://www.linuxidc.net/thread-1187-1-1.html

---------------------------------分割線---------------------------------

下面就是一個完整使用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="http://schemas.android.com/apk/res/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 name="app_name">AndroidPreferenceFragment</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
   
    <string-array name="pref_font_types">
        <item>sans</item>
        <item>serif</item>
        <item>monospace</item>
        <item>Yahei</item>
    </string-array>
    <string-array name="pref_font_types_values">
        <item>sans</item>
        <item>serif</item>
        <item>monospace</item>
        <item>Yahei</item>
    </string-array>

Copyright © Linux教程網 All Rights Reserved