Android PreferenceActivity 详解教程
来源:互联网 发布:诺里尔斯克 知乎 编辑:程序博客网 时间:2024/05/19 10:34
根据已学知识 很快一个念头闪过 即:Activity + Preference 组合 前者用于界面构建 后者用于设置数据存放 其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项 都要建立与其对应的Preference
所以 现在有更好的选择了 那就是本文的主角:PreferenceActivity
从名字应该可以看出 其实 Activity 与 Perference 的混合物
还是从需求说起 常见属性设定 有哪几种方式:
1. CheckBox 用于 确定/取消 某项功能 如:是否静音 对应于:CheckBoxPreference 其在Preference 有一个选项与其自动绑定 下同
2. ListView 用于列出所有选择 如:铃声选择 列出所有声音供选择使用 对应于:ListPreference
3. 属性结合 用于列出一系列相关属性 如:所有与短消息有关的功能 对应于:PreferenceScreen 该项仅用于界面 故与Preference无关
界面 其实 讨论这个 比较鸡肋 大家自己试着运行就一目了然了 所以 觉得还是以步骤为主
鉴于PreferenceActivity使用 网络很多 故此略过 为了给自己备份 防止以后用到 大致叙述一下
[代码 步骤]
1. PreferenceActivity 界面比较特别 在 res/xml/setting.xml
01
<?xml version=
"1.0"
encoding=
"utf-8"
?>
02
<PreferenceScreen
03
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
04
<CheckBoxPreference
05
android:key=
"autoBack"
06
android:title=
"自动回复"
07
android:summaryOn=
"开启"
08
android:summaryOff=
"关闭"
09
android:defaultValue=
"true"
10
/>
11
<PreferenceCategory android:title=
"SMS 助手"
>
12
<CheckBoxPreference
13
android:key=
"smsSilence"
14
android:title=
"静音"
15
android:summaryOn=
"开启"
16
android:summaryOff=
"关闭"
17
android:defaultValue=
"false"
18
/>
19
<PreferenceScreen android:title=
"更多选项"
>
20
<CheckBoxPreference
21
android:key=
"cb21"
22
android:title=
"功能1"
23
android:summaryOn=
"开启"
24
android:summaryOff=
"关闭"
25
android:defaultValue=
"true"
26
/>
27
<CheckBoxPreference
28
android:key=
"cb22"
29
android:title=
"功能2"
30
android:summaryOn=
"使用"
31
android:summaryOff=
"停用"
32
android:defaultValue=
"true"
33
/>
34
<ListPreference
35
android:key=
"list1"
36
android:title=
"android forum"
37
android:summary=
"开发论坛"
38
android:dialogTitle=
"请选择论坛"
39
android:entries=
"@array/entries_list_preference"
40
android:entryValues=
"@array/entriesvalue_list_preference"
41
/>
42
<EditTextPreference
43
android:key=
"et1"
44
android:title=
"EditTextPreference Sample"
45
android:summary=
"点击输入"
46
android:dialogTitle=
"输入设置"
47
android:defaultValue=
"Hello EditTextPreference"
48
/>
49
</PreferenceScreen>
50
</PreferenceCategory>
51
<PreferenceCategory android:title=
"其他选项"
>
52
<RingtonePreference
53
android:key=
"rt1"
54
android:title=
"RingtonePreference Sample"
55
android:summary=
"选择铃声"
56
/>
57
</PreferenceCategory>
58
</PreferenceScreen>
1
sp = PreferenceManager.getDefaultSharedPreferences(
this
);
01
sp.registerOnSharedPreferenceChangeListener(
new
OnSharedPreferenceChangeListener(){
02
@Override
03
//sharedPreferences:句柄
04
//key: 改变 键值
05
public
void
onSharedPreferenceChanged(
06
SharedPreferences sharedPreferences, String key) {
07
// TODO Auto-generated method stub
08
if
(key.equals(
"autoBack"
)){
09
Boolean autoBack = sharedPreferences.getBoolean(
"autoBack"
,
false
);
10
if
(autoBack){
11
Log.d(
"TAG"
,
"autoBack: true!"
);
12
}
13
else
{
14
Log.d(
"TAG"
,
"autoBack: false!"
);
15
}
16
}
17
}
18
});
1
spc =
this
.getSharedPreferences(
"com.android.PreferenceActivity.Usage_preferences.xml"
, MODE_WORLD_READABLE );
2
- 取值
3
Boolean autoBack = spc.getBoolean(
"autoBack"
,
false
);
1
public
void
putValue(String key, Boolean value){
2
spe = spc.edit();
3
spe.putBoolean(key, value);
4
spe.commit();
5
}
1
- ListPreference 使用
2
<ListPreference
3
android:key=
"list1"
4
android:title=
"android forum"
5
android:summary=
"开发论坛"
6
android:dialogTitle=
"请选择论坛"
7
android:entries=
"@array/entries_list_preference"
8
android:entryValues=
"@array/entriesvalue_list_preference"
9
/>
01
<?xml version=
"1.0"
encoding=
"utf-8"
?>
02
<resources>
03
<string-array name=
"entries_list_preference"
>
04
<item>www.anddev.org</item>
05
<item>www.eoeandroid.com</item>
06
<item>developer.android.com</item>
07
</string-array>
08
<string-array name=
"entriesvalue_list_preference"
>
09
<item>
1
</item>
10
<item>
2
</item>
11
<item>
3
</item>
12
</string-array>
13
</resources>
1
<EditTextPreference
2
android:key=
"et1"
3
android:title=
"EditTextPreference Sample"
4
android:summary=
"点击输入"
5
android:dialogTitle=
"输入设置"
6
android:defaultValue=
"Hello EditTextPreference"
7
/>
- Android PreferenceActivity 详解教程
- Android PreferenceActivity 详解教程
- 【学习笔记】Android PreferenceActivity 详解教程
- Android之PreferenceActivity 详解
- Android之PreferenceActivity 详解
- android PreferenceActivity详解
- Android开发--详解SharedPreference/PreferenceActivity
- android之PreferenceActivity使用详解
- Android开发教程:PreferenceActivity使用简介
- Android开发教程:PreferenceActivity使用简介
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- PreferenceActivity详解
- 2011最给力最温暖的爱情语录
- Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色)
- 某公司上机题
- zoj2156Charlie's Change 多重背包可行性问题+记录路径
- 小小词典(五,弹出视图和手势)
- Android PreferenceActivity 详解教程
- NYOJ 士兵杀敌(四) 树状数组
- Hdu 4525 威威猫系列故事——吃鸡腿
- hdu 1498 二分图—最小点覆盖
- 【Project Euler】【Problem 5】Smallest multiple
- 正整数类
- 跨平台浏览器模拟控制测试
- IOS消息推送
- Memory reordering