Android Preference 設置偏好全攻略


Android 設置是每個App必不可小的東西,看似很簡單,但是初學不熟悉的很花時間去研究,特別樣式兼容方面,以及有自定義設置的需求,下面是對用法做一個總結

Preference結構

界面結構看下圖


界面主要由PrefercenScreen、PreferenceCategory和Preference三個主要部分組成

  • PrefercenScreen最根的部分;
  • PreferenceCategory是每個設置的分組;
  • Preference是具體到每個設置元素;
XML文件

XML結構層級大致如圖

<android.support.v7.preference.PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <android.support.v7.preference.PreferenceCategory
        android:title="preference v7">
        <android.support.v7.preference.CheckBoxPreference
            android:defaultValue="false"
            android:key="key_checkbox"
            android:summaryOff="@string/theme_light"
            android:summaryOn="@string/theme_dark"
            android:title="Checkbox"
            />
    </android.support.v7.preference.PreferenceCategory>
</android.support.v7.preference.PreferenceScreen>

類庫

由於Android版本升級,Preference加上原生的供有四個版本類庫,根據API的最低版本使用相應的類庫,如果你的最低版本是11,使用PreferenceFragment的話就可不使用兼容庫。下面對每個包層次整理一下

android.preference

PreferenceFragment
如果你的安卓最低版本面向11以上的,可以直接使用這個包為基礎

android.support.v7.preference

android.support.v14.preference

android.support.v17.preference

這個包主要面向電視,暫時不深入研究,具體特性遲點再補充

Preference介紹

Preference
  • Preference 是所有設置項目的基類,很多屬性都從這個類派生出來。
    它有android.preference.Preference和 android.support.v7.preference.Preference兩個部分,大致用法相同,詳細請參考文檔;

  • 從文檔可了解到android.preference.Preference 是針對PreferenceActivity
    ListView舊款偏好而設計,而android.support.v7.preference.Preference則適合
    用RecyclerView重新設計的PreferenceFragmentCompat,使用的時候對號入座就可以了;

  • 他們都是內置 SharedPreferences 以及對應的android:key屬性來存儲數據

關鍵屬性:

  • android:title,顯示的標題;
  • android:summary,標題下面對應的摘要;
  • android:key,存儲數據的鍵值;
  • android:dependency: 這是一個鍵值,如果設置,必須依賴key這個才可以啟用;

更多細節請 閱讀原文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM