歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中PreferenceFregment使用完全攻略

Android中PreferenceFregment使用完全攻略

日期:2017/3/1 9:52:56   编辑:Linux編程

提要

如果你從搜索引擎找到這篇《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