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 铃声