Android中Preference的使用以及监听事件分析

http://blog.csdn.net/qinjuning/article/details/6710003

单一控件:

                        Preference 控件家庭          View控件家庭       控件含义

                        Preference                        TextView             文本框

                        CheckPreference               CheckBox           单选框

                        EditTextPreference            EditText              输入文本框 

                        ListPreference                   ListView              列表框

                        RingtonePreference          ——                    铃声

其实在Android源码系统中还有很多的”未完工”的Preference, 没有为它们提供PI接口,例如SeekBarPreference,

有兴趣的同学可以参考源码,具体路径为:frameworks/base/core/java/preference。

 

组合控件:

PreferenceCategory :类似于LinearLayou、RelativeLayout,用于组合一组Preference,使布局更具备层次感 。

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

getXXX()代表取得xxx属性的值。

一个简易的效果图如下:

     

 

1、EditPreference 

方法:

getEditText()  返回的是我们在该控件中输入的文本框值

getText()     返回的是我们之前sharedPreferen文件保存的值

效果图:

                     

2、ListPreference

XML Attributes:

android:dialogTitle:弹出控件对话框时显示的标题

android:entries:      类型为array,控件欲显示的文本

android:entryValues:类型为array,与文本相对应的key-value键值对,value保存至sharedPreference文件

说明:entries和entryValue属性使用的数组为定义在资源文件arrays.xml的数组名:

方法:

CharSequence[]    getEntries(): 返回的是控件显示文本的一个”key”数组,对应于属性android:entries

CharSequence[]    getEntryValues():返回的一个”value”数组,对应于属性android: entryValues

CharSequence      getEntry(): 返回当前选择文本

String                 getValue() :返回当前选中文本选中的value 。

与之对应的还有它们所对应的setXXX()方法,可以参考SDK进行分析。效果图:

                                  

采用的数组为:      

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string-array name="department">  
  4.         <item>IT</item>  
  5.         <item>Commerce</item>  
  6.         <item>HR</item>  
  7.     </string-array>  
  8.     <string-array name="department_value">  
  9.         <item>001</item>  
  10.         <item>002</item>  
  11.         <item>003</item>  
  12.     </string-array>  
  13. </resources>  

3、RingtonePreference

XML Attributes:

android:ringtoneType:响铃的铃声类型,主要有:ringtone(音乐)、notification(通知)、alarm(闹铃)

                                              、all(所有可用声 音类型)。

android:showDefault :默认铃声,可以使用系统(布尔值---true,false)的或者自定义的铃声

android:showSilent  :指定铃声是否为静音。指定铃声包括系统默认铃声或者自定义的铃声

效果图:

                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值