读书人

Android中PreferenceFregment施用完全

发布时间: 2013-10-08 16:38:32 作者: rapoo

Android中PreferenceFregment使用完全攻略
提要

如果你从搜索引擎找到这篇文章,那么恭喜你,你来对地方了。我可以很负责任的告诉你,在这篇文章之前,没有一篇完整叙述PreferenceFregment使用的完整文章。

在android的应用中通常都有setting功能,能够设置一些全局的选项,例如字体颜色,个人喜好等等。

这些东西都是存在一个xml中的,在android中对应的对象就是SharedPreferences。

下面就是一个完整使用PreferenceFregment的例子,先看结果:

Android中PreferenceFregment施用完全攻略Android中PreferenceFregment施用完全攻略


PreferenceFragment 还是 PreferenceActivity

很明显PreferenceFragment 是Fregment, PreferenceActivity是Activity。

当你的应用针对的系统在3.0以上的时候,你就应该用PreferenceFragment,现在主流系统4.0的情况下,当然选择使用PreferenceFragment。原因是PreferenceFragment是一个更加平滑的结构,你可以将它依附在任何的activity上面,谷歌强力推荐使用PreferenceFragment!


常用Preference

CheckPreference —— CheckBox 单选框
EditTextPreference —— EditText 输入文本框
ListPreference —— ListView 列表框
RingtonePreference —— 选择铃声

XML定义常用的属性有:

android:key : 每个Preference控件独一无二的”ID”,唯一表示此Preference。
android:defaultValue : 默认值。 例如,CheckPreference的默认值可为”true”,默认为选中状态;
EditTextPreference的默认值可为”110” 。
android:enabled : 表示该Preference是否可用状态。
android:title : 每个Preference在PreferenceScreen布局上显示的标题——大标题
android:summary : 每个Preference在PreferenceScreen布局上显示的标题——小标题(可以没有)

ListPreference中:

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


PreferenceFragment 使用步骤1.定义preference


在项目的res/xml中新建一个preferences.xml.用于定义菜单界面的设置选项:

boolean my_checkbox_preference = mySharedPreferences.getBoolean("checkbox_preference", false);String my_edittext_preference = mySharedPreferences.getString("edittext_preference", "");


代码下载

android工程



参考

Settings - https://developer.android.com/guide/topics/ui/settings.html#Defaults

How to listen for preference changes within a PreferenceFragment? - http://stackoverflow.com/questions/13596250/how-to-listen-for-preference-changes-within-a-preferencefragment

Example of using PreferenceFragment - http://android-er.blogspot.com/2012/07/example-of-using-preferencefragment.html

读书人网 >Android

热点推荐