歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android_PreferenceActivity應用點滴

Android_PreferenceActivity應用點滴

日期:2017/3/1 10:01:43   编辑:Linux編程

為了引入這個概率 首先從需求說起 即:現有某Activity專門用於手機屬性設置 那麼應該如何做呢?

根據已學知識 很快一個念頭閃過 即:Activity + Preference 組合 前者用於界面構建 後者用於設置數據存放 其實 這是正確的 但是 這會比較繁瑣 因為 每個設置選項 都要建立與其對應的Preference

所以 現在有更好的選擇了 那就是本文的主角:PreferenceActivity 從名字應該可以看出 其實 Activity 與 Perference 的混合物

這個例子中包括了PreferenceActivity中常見的幾種組件,以下為具體介紹及用法:

PreferenceScreen:設置頁面,可嵌套形成二級設置頁面,用Title參數設置標題,summary設置描述(標題下面的文字),key設置唯一的ID,每個PreferenceScreen內可添加其它元素作為二級設置頁面。

PreferenceCategory:某一類相關的設置,可用Title參數設置標題。

CheckBoxPreference:是一個CheckBox設置,只有兩種值,true或false,可用Title參數設置標題sumary設置描述,用summaryOn和summaryOff參數來設置控件選中和未選中時的提示,defaultValue設置默認值。

ListPreference:下拉框選擇控件,用Title參數設置標題,用Summary參數設置說明,點擊後出現下拉框,用dialogTitle 設置下拉框的標題,下拉框內顯示的內容和具體的值需要在res/values/array.xml中設置兩個array來表示。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="entries_list_preference">
<item>test1</item>
<item>test2</item>
<item>test3</item>
</string-array>
<string-array name="entriesvalue_list_preference">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>

這個PreferenceActivity中的設置存儲是完全自動的,你不需要再用代碼去實現設置的存儲,PreferenceActivity創建後會自動創建一個配置文件/data/data/you_package_name /shared_prefs/you_package_name_you_xml_name.xml。
上例中自動生成的配置文件如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="EditTextPreference">12332312</string>
<string name="ListPreference">2</string>
<string name="RingtonePreference">content://settings/system/ringtone</string>
<boolean name="CheckBox1" value="true" />
<boolean name="CheckBox2" value="true" />
</map>

Copyright © Linux教程網 All Rights Reserved