赞
踩
使用PreferenceScreen之前简单的介绍一下 ,
PreferenceScreen它不仅可以作为设置界面显示,而且还能够启动activity 以及内嵌View 和用layout方式一样,代码很简单。和以往界面最大的区别是,我们对checkbox进行选择或者对ringtone进行选择后,这个选择结果是被保留的,当我们退出actitvity后再次进入,上次的选项依然保留,我们重新向模拟器load应用,发现之前的选项仍然存在。我们可以利用preference,而无须人工对数据进行保存和读取,很是方便。 preference都应用在什么场景呢? 一般用在对用户的设置信息进行保存 这得从android对preference的实现说起,实际上,preference所存储的数据最后都会以xml文件格式的形式进行保存,而且其只能 保存一些基本格式的数据。例如string/boolean……。该xml文件存放的位置在data/data/你应用的包名/shared_prefs 文件夹下。 种种的限制与实现机制表明了,preference非常适合于参数设置功能。实际上,它也确实是干这个的,我们通过使用preference可以迅速的将某些值保存进xml文件中,然后我们可以读取这些设置信息进行相应的操作。 好了,,开始上代码
package com.example.preferencescreentest;
public class MainActivity extends PreferenceActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.mypreferencescreen); }
}
使用PreferenceScreen 首先继承PreferenceActivity 然后添加preferencescreen的配置文件 addPreferencesFromResource(R.xml.mypreferencescreen); 和Activity的setContentView(R.layout.activity_main);一样用法 加载了运行就是一下的界面 界面看完了,,好了配置的代码送上 配置之前我们得在res目录新建一个XML文件 如下图 <?xml version="1.0" encoding="utf-8"?> <!-- preference的组织方式有 PreferenceScreen和PreferenceCategory,PreferenceCategory是带层次组织关系, 在后面的例子体验,而PreferenceScreen就是最平白和基础的方式 特性 说明 android:key 选项的名称或键(比如selected_flight_sort_option) android:title 选项的标题 android:summary 选项的简短摘要 android:entries 可将选项设置成列表项的文本 android:entryValues 定义每个列表项的值。注意:每个列表项有一些文本和 一 个 值。 文本由 entries 定义,值由entryValues定义。 android:dialogTitle 对话框的标题,在视图显示为模态对话框时使用 android:defaultValue 项列表中选项的默认值 --> <PreferenceScreen xmlns:android=" http://schemas.android.com/apk/res/android" android:title="第一层PreferenceScreen" android:summary="这是第一层PreferenceScreen " > <!-- 有四个基本组建,很容易理解,RingtonePreference是选择铃音,这里给出两个选择,系统默认的铃音和无声 --> <CheckBoxPreference android:key="checkbox" android:title="CheckBox Preference" android:summary="复选款"/> <RingtonePreference android:key="ringtone" android:title="Ringtone Preference" android:showDefault="true" android:showSilent="true" android:summary="选择铃声"/>
<PreferenceCategory android:title="PreferenceCategory可以将几个组件组在一起">
<CheckBoxPreference android:key="checkbox" android:title="复选框" /> <RingtonePreference android:key="ringtone" android:title="选择铃声" /> </PreferenceCategory> <PreferenceCategory android:title="也可以内嵌的PreferenceScreen"> <PreferenceScreen android:title="内嵌的PreferenceScreen点击后进入一个新的页面"> <CheckBoxPreference android:key="checkbox2" android:title="Another Checkbox" android:summary="最里层的PreferenceScreen的CheckBoxPreference"/> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="实验另外的两个组建EditText和List"> <EditTextPreference android:key="text" android:title="EditTextPreference" android:summary="点击进行编写" android:dialogTitle="内容"/> <ListPreference android:key="list" android:title="ListPreference" android:summary="点击进行选择" android:entries="@array/cities" android:entryValues="@array/airport_codes" android:dialogTitle="提醒的天数"/> </PreferenceCategory> <PreferenceCategory android:title="还可以内嵌PreferenceScreen来跳转intent"> <PreferenceScreen android:title="跳转Intent" > <intent android:targetPackage="com.example.preferencescreentest" android:targetClass="com.example.preferencescreentest.OtherA" ></intent> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="打开网页"> <PreferenceScreen android:title="也可以链接网页" android:summary="反馈建议"> <intent android:action="android.intent.action.VIEW" android:data=" http://www.baidu.com/" /> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="定义一个layout"> <Preference android:title="定义一个View" android:layout="@layout/text_view" android:icon="@drawable/ic" > </Preference> </PreferenceCategory> </PreferenceScreen> 今天上传不了源码附件。所以下次补上。,见谅 补上源码 一个仿 QQ 设置界面 QQUIDemo.rar (746.05 KB, 下载次数: 257) |
QQ截图20121121161707.png (12.64 KB, 下载次数: 32)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。