Android中Preference的使用以及監聽事件分析

  在Android系統源碼中,絕大多數應用程序的UI佈局採用了Preference的佈局結構,而不是咱們平時在模擬器中構建應用程序時使用的View佈局結構,例如,Setting模塊中佈局。固然,凡事都有例外,FMRadio應用程序中則使用了View佈局結構(多是該應用程序是marvel公司提供的,若是由google公司作,那可說不許)。歸根到底,Preference佈局結構和View的佈局結構本質上仍是大同小異,Preference的優勢在於佈局界面的可控性和高效率以及可存儲值的簡潔性(每一個PreferenPreferencece存儲在相對應下的SharedPreference文件夾下)。 下面,咱們對比Preference和View下得各個子控件,對他們的家庭元素在宏觀上有個更好的把握性。java

     單一控件:

                        Preference 控件家庭          View控件家庭       控件含義android

                          Preference                  TextView           文本框佈局

                          CheckPreference             CheckBox           單選框google

                          EditTextPreference          EditText          輸入文本框 spa

                          ListPreference              ListView          列表框orm

                          RingtonePreference          ——               鈴聲xml

          其實在Android源碼系統中還有不少的」未完工」的Preference, 沒有爲它們提供PI接口,例如SeekBarPreference,繼承

       有興趣的同窗能夠參考源碼,具體路徑爲:frameworks/base/core/java/preference。接口

組合控件:

              PreferenceCategory :相似於LinearLayou、RelativeLayout,用於組合一組Preference,使佈局更具有層次感 。get

              PreferenceScreen  : 全部Preference元素的根節點。

  

   顯示Preference佈局結構的方法爲:

           使咱們的Activity繼承PreferenceActivity,而後在onCreate()方法中經過   

      addPreferencesFromResource(R.xml.custom_preference) (咱們自定義的Preference 佈局)。

      怎麼樣,是否是似曾相識?稍後會用一個Demo來爲您詳述。

  

   Preference元素的通用XML Attributes說明:    

        android:key :          每一個Preference控件獨一無二的」ID」,惟一表示此Preference。          

         android:defaultValue : 默認值。 例如,CheckPreference的默認值可爲」true」,默認爲選中狀態;

                                             EditTextPreference的默認值可爲」110」 。

         android:enabled :      表示該Preference是否可用狀態。     

         android:title :        每一個Preference在PreferenceScreen佈局上顯示的標題——大標題

         android:summary :      每一個Preference在PreferenceScreen佈局上顯示的標題——小標題(能夠沒有)

         android:persistent:    表示Preference元素所對應的值是否寫入sharedPreferen文件中,若是是true,則表示寫

                                       入;不然,則表示不寫入該Preference元素的值。

         android:dependency:    表示一個Preference(用A表示)的可用狀態依賴另一個Preference(用B表示)。B可用,

                                              則A可用;B不可用,則A不可用。

         android:disableDependentsState:  與android:dependency相反。B可用,則A不可用;B不可用,則A可用。

  

   經常使用的方法則包括:

                getKey()            setKey()

             getSummary()        setSummary()

             getText()           setText()

相關文章
相關標籤/搜索