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()

相关文章
相关标签/搜索