快速开发设置界面-----PreferenceActivity

通常app都会有一个设置界面,如下:


通常做法是自己定义布局,然后在代码里面添加响应函数,并将结果保存到Sharedpreferences中。
android给我们提供了PreferenceActivity来简化开发设置界面。
你只需这样做:
1.创建一个类继承PreferenceActivity,并导入设置界面布局:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. package com.example.preferenceactivitydemo1;  
  2. import android.os.Bundle;  
  3. import android.preference.PreferenceActivity;  
  4. public class MainActivity extends PreferenceActivity  
  5. {  
  6.     @SuppressWarnings("deprecation")  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState)  
  9.     {  
  10.         super.onCreate(savedInstanceState);  
  11.         addPreferencesFromResource(R.xml.main_preference);  
  12.     }  
  13.       
  14. }  

2.在res目录下添加xml文件夹,并创建一个名为main_preference(即代码中引用的资源文件)的文件.
3.编写资源文件。
上图设置界面对应的资源文件如下:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:title="标题" >  
  4.     <PreferenceCategory  
  5.         android:summary="分组1"  
  6.         android:title="分组1标题" >  
  7.         <ListPreference  
  8.             android:defaultValue="@string/defaultvalues"  
  9.             android:dialogTitle="对话框标题"  
  10.             android:entries="@array/entries"  
  11.             android:entryValues="@array/entriesvalue"  
  12.             android:key="myListPreference"  
  13.             android:summary="标题说明"  
  14.             android:title="小标题" />  
  15.         <CheckBoxPreference  
  16.             android:key="doubi"  
  17.             android:summaryOff="逗比模式关闭"  
  18.             android:summaryOn="逗比模式开启"  
  19.             android:title="逗比模式" >  
  20.         </CheckBoxPreference>  
  21.     </PreferenceCategory>  
  22.     <PreferenceCategory  
  23.         android:summary="分组2"  
  24.         android:title="分组2标题" >  
  25.         <SwitchPreference  
  26.             android:key="fly"  
  27.             android:summaryOff="已关闭飞行模式"  
  28.             android:summaryOn="已开启飞行模式"  
  29.             android:switchTextOff="关闭"  
  30.             android:switchTextOn="开启"  
  31.             android:title="飞行模式" >  
  32.         </SwitchPreference>  
  33.         <EditTextPreference  
  34.             android:defaultValue="zhangsan"  
  35.             android:dialogTitle="编辑姓名"  
  36.             android:key="name"  
  37.             android:summary="编辑您的姓名"  
  38.             android:title="编辑" >  
  39.         </EditTextPreference>  
  40.     </PreferenceCategory>  
  41. </PreferenceScreen>  

其中引用了string.xml的相关内容:


[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="app_name">PreferenceActivityDemo1</string>  
  4.     <string name="action_settings">Settings</string>  
  5.     <string name="hello_world">Hello world!</string>  
  6.     <string-array name="entries">  
  7.         <item>小苹果</item>  
  8.         <item>小香蕉</item>  
  9.         <item>小西瓜</item>  
  10.     </string-array>  
  11.     <string-array name="entriesvalue">  
  12.         <item>apple</item>  
  13.         <item>banana</item>  
  14.         <item>watermelon</item>  
  15.     </string-array>  
  16.     <string name="defaultvalues">apple</string>  
  17. </resources>  

恩,就这么简单~

所有结果会保存到data/data/包名/shared_prefs目录下的包名_preferences.xml中,跟sharepreferences一样。


转自: http://blog.csdn.net/chdjj/article/details/38130345
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值