使用 Android PreferenceScreen 偏好显示类(android.preference.PreferenceScreen)
http://edu.gamfe.com/tutor/d/36925.html
PreferenceScreen preference是偏好,首選的意思,PreferenceScreen個人翻譯成 “偏好顯示”,明白這個意思就好,就是說根據特點靈活的定義顯示內容風格,一個屏幕可以包含多個風格,像系統自帶的聲音設置界面。
實現這種顯示效果其實很簡單,只需要借助PreferenceScreen類即可。在項目資源文件中新建xml文件夾,在里面新建preferences.xml文件.
根元素為PreferenceScreen 代表顯示一整個屏幕,內部嵌套PreferenceCategory標簽,表示偏好類別,在PreferenceCategory標簽內部可以隨便存放復選框,輸入框,列表等顯示控件.可包含的控件內容在android.preference包下可查閱.xml文件編寫好后,需要加載到activity 中,對于偏好顯示的xml加載,可以使用PreferenceActivity中的addPreferencesFromResource(),所以 Activity需要繼承PreferenceActivity.既然顯示的屏幕中包含復選框,輸入框的控件,我們必然對選擇與否,輸入框內容感興趣,我們要怎樣獲取屏幕的內容呢?
復寫activity中的onPreferenceTreeClick 方法,在對屏幕顯示的內容進行操作時,會觸發此方法,在方法內部通過調用
Java代碼SharedPreferences contentPreference = preference.getSharedPreferences();boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference", false);String animalName = contentPreference.getString("edittext_preference", "default");SharedPreferences contentPreference = preference.getSharedPreferences();boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference", false);String animalName = contentPreference.getString("edittext_preference", "default");
即可得到屏幕上輸入的內容,與使用SharedPreference對象一樣,通過key-value 的形式獲取,其中key是xml控件標簽中key屬性對應的值.
顯示效果:
對應xml文件:Java代碼 < ?xml version="1.0" encoding="utf-8"?>< PreferenceScreen xmlns:andro> < PreferenceCategory android:title="顯示一排偏好">< CheckBoxPreference android:key="checkbox_preference" android:title="開關偏好" android:summary="這是一個開關按鈕" /> < /PreferenceCategory>< PreferenceCategory android:title="基于對話框的偏好">< EditTextPreference android:key="edittext_preference" android:title="文本輸入偏好" android:summary="使用一個文本框對話框" android:dialogTitle="輸入你的寵物" />< ListPreference android:key="list_preference" android:title="列表偏好" android:summary="使用一個列表對話框" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="選擇一個" /> < /PreferenceCategory>< PreferenceCategory android:title="啟動偏好">< PreferenceScreen android:key="screen_preference" android:title="屏幕" android:summary="顯示另一個偏好屏幕">< !-- You can place more preferences here that will be shown on the next screen. -->< CheckBoxPreference android:key="next_screen_checkbox_preference" android:title="開關偏好" android:summary="另一個屏幕上的偏好" /> < /PreferenceScreen>< PreferenceScreen android:title="意圖偏好" android:summary="通過意圖啟動一個Activity">< intent android:action="android.intent.action.VIEW" android:data="http://www.android.com" /> < /PreferenceScreen> < /PreferenceCategory> < PreferenceCategory android:title="偏好屬性">< CheckBoxPreference android:key="parent_checkbox_preference" android:title="父開關" android:summary="這是一個父開關" /> < CheckBoxPreference android:key="child_checkbox_preference" android:dependency="parent_checkbox_preference" android:layout="?android:attr/preferenceLayoutChild" android:title="子開關" android:summary="這是一個子開關" /> < /PreferenceCategory> < /PreferenceScreen>
轉載于:https://www.cnblogs.com/anee/archive/2011/12/07/2675910.html
總結
以上是生活随笔為你收集整理的使用 Android PreferenceScreen 偏好显示类(android.preference.PreferenceScreen)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PreferenceScreen1
- 下一篇: 【毕业设计选题】C51单片机毕业设计题目