日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

PreferenceActivity使用简介

發(fā)布時(shí)間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PreferenceActivity使用简介 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址: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類即可。代碼如下:


package com.liuzhichao.sharedpreferences;import android.os.Bundle; import android.preference.PreferenceActivity;public class SharedPreferencesDemoActivity extends PreferenceActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 所的的值將會(huì)自動(dòng)保存到SharePreferencesaddPreferencesFromResource(R.xml.netsetting);}}

運(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。