PreferenceActivity使用简介
原文地址:http://liuzhichao.com/p/528.html
當(dāng)我們的應(yīng)用需要保存用戶設(shè)置信息的時(shí)候,你可能會(huì)想到用之后學(xué)習(xí)過(guò)的Activity+Preference來(lái)完成,前者用于界面構(gòu)建 后者用于保存用戶的設(shè)置信息。這理論上來(lái)講這是可行的,但是實(shí)際操作起來(lái)卻是一件很繁瑣的事情,特別是當(dāng)設(shè)置項(xiàng)較多的時(shí)候,?每個(gè)設(shè)置選項(xiàng)都要建立與其對(duì)應(yīng)的Preference,還要即時(shí)保存用戶設(shè)置的改變。其實(shí)Android已經(jīng)為我們提供了用于設(shè)置界面的組件,那就是PreferenceActivity。Android系統(tǒng)本身就大量用到了PreferenceActivity來(lái)對(duì)系統(tǒng)進(jìn)行信息配置和管理,比如Android系統(tǒng)中的設(shè)置。下面我們模擬Android中的網(wǎng)絡(luò)設(shè)置,運(yùn)行效果如下:
?
1、如何創(chuàng)建一個(gè)PreferenceActivity?
我們借助Eclipse可以很方便的創(chuàng)建PreferenceActivity,新建一個(gè)工程,然后添加一個(gè)Android xml文件,這里需要選擇的是Preference而不是layout或其他,當(dāng)我們輸入名稱后可以在res/xml下找到你新建的xml文件。接著我們可以通過(guò)可視化的結(jié)構(gòu)設(shè)計(jì)或者xml源碼設(shè)計(jì)添加設(shè)置項(xiàng)。下面是我們這個(gè)例子中的設(shè)置項(xiàng)信息:
?
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" ><PreferenceCategoryandroid:key="set_net"android:title="網(wǎng)絡(luò)設(shè)置" ><CheckBoxPreferenceandroid:key="set_3g"android:summary="使用3G雖可提高數(shù)據(jù)載入速度,但可能會(huì)降低電池壽命"android:title="啟用3G" /><CheckBoxPreferenceandroid:key="set_2g"android:summaryOff="打開(kāi)蜂窩數(shù)據(jù)"android:summaryOn="關(guān)閉蜂窩數(shù)據(jù)"android:title="蜂窩數(shù)據(jù)" /><Preferenceandroid:key="set_2g_net"android:title="蜂窩數(shù)據(jù)網(wǎng)絡(luò)" /><CheckBoxPreferenceandroid:key="set_roving"android:summary="在境外時(shí)請(qǐng)關(guān)閉數(shù)據(jù)漫游"android:title="數(shù)據(jù)漫游" /></PreferenceCategory><PreferenceCategoryandroid:key="set_VPN_Category"android:title="VPN設(shè)置" ><Preferenceandroid:key="set_VPN"android:title="設(shè)置VPN" /></PreferenceCategory></PreferenceScreen>
那么如果顯示呢?然后我們創(chuàng)建一個(gè)Activity繼承自PreferenceActivity類即可。代碼如下:
運(yùn)行工程,效果即是我們之前的那張效果圖。
2、PreferenceActivity元素說(shuō)明
我們?cè)谛陆ǖ膕etting.xml里按Alt+/ 可以看到PreferenceActivity中的元素如下:
?
- CheckBoxPreference:CheckBox選擇項(xiàng),對(duì)應(yīng)的值的ture或flase
- EditTextPreference:輸入編輯框,值為String類型,會(huì)彈出對(duì)話框供輸入。
- ListPreference: 列表選擇,彈出對(duì)話框供選擇。
- Preference:只進(jìn)行文本顯示,需要與其他進(jìn)行組合使用。
- PreferenceCategory:用于分組。
- PreferenceScreen:PreferenceActivity的根元素
- RingtonePreference:系統(tǒng)玲聲選擇。
- PrefeneceActivity都提供了哪幾種元素可供使用
常見(jiàn)屬性說(shuō)明:
title:顯示的標(biāo)題
key:唯一標(biāo)識(shí)(至少在同一程序中是唯一),SharedPreferences也將通過(guò)此Key值進(jìn)行數(shù)據(jù)保存,也可以通過(guò)key值獲取保存的信息
summary:副標(biāo)題、說(shuō)明(小字體顯示)
defaultValue:默認(rèn)值(當(dāng)然,此處只能是true或false了)
android:summaryOn:屬性開(kāi)啟的時(shí)候的說(shuō)明
android:summaryOff:屬性關(guān)閉時(shí)候的說(shuō)明
dialogTitle:彈出對(duì)話框的標(biāo)題
entries:列表中顯示的值。為一個(gè)數(shù)組,通讀通過(guò)資源文件進(jìn)行設(shè)置。
entryValues:列表中實(shí)際保存的值,也entries對(duì)應(yīng)。為一個(gè)數(shù)組,通讀通過(guò)資源文件進(jìn)行設(shè)置。
總結(jié)
以上是生活随笔為你收集整理的PreferenceActivity使用简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何在Excel 2007中创建数据透视
- 下一篇: [css] clear属性只对块级元素