PreferenceActivity是專業的設置界面,只要給它指定一個配置好的xml,它就能自動根據操作更改程序Preference的相應值。
首先要用一個xml文件來配置一個設置界面,也就是我們說的 PreferenceScreen ,然后用PreferenceActivity將其顯示。比如在res目錄下建立一個xml文件夾,然后新建一個seeting.xml文件。
內容如下:
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <CheckBoxPreference android:defaultValue="false" android:key="boolean_value" android:summary="保存一個boolean值" android:title="Checkbox" /> <EditTextPreference android:defaultValue="defaultString" android:key="string_value" android:name="EditText" android:summary="保存一個字符串" android:title="Edit Text" /> </PreferenceScreen>
checkBoxPreference對應一個boolean值,EditTextPreference對應一個String。 android:key是標識符,必須是唯一的。
每次更改界面的設置之后,程序會自動持久化保存新的值。
而在程序的其他地方獲取到設置的值也很簡單,只需通過標識符,如獲取上文中標識符為“boolean_value”和“string_value”的值, 只需使用如下方法即可獲得。
boolean booleanValue = PreferenceManager.getDefaultSharedPreferences( this).getBoolean("boolean_value", false); String stringValue = PreferenceManager.getDefaultSharedPreferences(this) .getString("string_value", "");
常見屬性設定 有以下幾種方式:
CheckBoxPreference CheckBox
EditTextPreference EditText
ListPreference List
RingtonePreference 鈴聲