首页 / 操作系统 / Linux / Android中PreferenceFregment使用完全攻略
提要如果你从搜索引擎找到这篇《Android中PreferenceFregment使用完全攻略》文章,那么恭喜你,你来对地方了。我可以很负责任的告诉你,在这篇文章之前,没有一篇完整叙述PreferenceFregment使用的完整文章。在Android的应用中通常都有setting功能,能够设置一些全局的选项,例如字体颜色,个人喜好等等。这些东西都是存在一个xml中的,在android中对应的对象就是SharedPreferences。本文全部源码下载:FTP地址:ftp://ftp1.linuxidc.com用户名:www.6688.cc密码:www.linuxidc.com在 2013年LinuxIDC.com9月Android中PreferenceFregment使用完全攻略下载方法见 http://www.linuxidc.net/thread-1187-1-1.html---------------------------------分割线---------------------------------下面就是一个完整使用PreferenceFregment的例子,先看结果:
PreferenceFragment 还是 PreferenceActivity
很明显PreferenceFragment 是Fregment, PreferenceActivity是Activity。当你的应用针对的系统在3.0以上的时候,你就应该用PreferenceFragment,现在主流系统4.0的情况下,当然选择使用PreferenceFragment。原因是PreferenceFragment是一个更加平滑的结构,你可以将它依附在任何的activity上面,谷歌强力推荐使用PreferenceFragment!常用PreferenceCheckPreference —— 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.用于定义菜单界面的设置选项:<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory
android:title="PreferenceCategory A"> <CheckBoxPreference
android:key="checkbox_preference"
android:title="title_checkbox_preference"
android:summary="summary_checkbox_preference" /> </PreferenceCategory> <PreferenceCategory
android:title="PreferenceCategory B"> <EditTextPreference
android:key="edittext_preference"
android:title="title_edittext_preference"
android:summary="null"
android:dialogTitle="dialog_title_edittext_preference"
android:defaultValue="null" /> <ListPreference
android:dialogTitle="Choose font"
android:entries="@array/pref_font_types"
android:entryValues="@array/pref_font_types_values"
android:key="list_preferenc"
android:summary="sans"
android:title="Font"
android:defaultValue="sans"/>
</PreferenceCategory></PreferenceScreen>android:entries 和 android:entryValues 定义在res/values/strings.xml中 <string name="app_name">AndroidPreferenceFragment</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string-array name="pref_font_types">
<item>sans</item>
<item>serif</item>
<item>monospace</item>
<item>Yahei</item>
</string-array>
<string-array name="pref_font_types_values">
<item>sans</item>
<item>serif</item>
<item>monospace</item>
<item>Yahei</item>
</string-array>推荐阅读:Android Preference存取数据 http://www.linuxidc.com/Linux/2012-07/65389.htmAndroid开发教程:数据存取之Preference浅析 http://www.linuxidc.com/Linux/2012-01/52623.htmAndroid Preference Framework http://www.linuxidc.com/Linux/2011-08/41923.htmAndroid中Preference的使用 http://www.linuxidc.com/Linux/2011-07/38699.htmAndroid之首选项相关 Preferences(一) http://www.linuxidc.com/Linux/2011-06/36833.htmAndroid之首选项相关 Preferences(二) http://www.linuxidc.com/Linux/2011-06/36832.htm 继续阅读本文的精彩内容请看第2页: http://www.linuxidc.com/Linux/2013-09/90299p2.htm