首页 > 其他分享 >preferenceActivity和preferencescreen用法

preferenceActivity和preferencescreen用法

时间:2022-10-06 12:10:32浏览次数:56  
标签:preferencescreen title preferenceActivity 用法 preference key import android publi

1. <?xml version="1.0" encoding="utf-8"?>
2. <PreferenceScreen
3. xmlns:android="http://schemas.android.com/apk/res/android">
4. <CheckBoxPreference
5. android:key="check1"
6. android:title="音乐"
7. android:summary="adas"
8. />
9. <CheckBoxPreference
10. android:key="autoBack"
11. android:title="自动回复"
12. android:summaryOn="开启"
13. android:summaryOff="关闭"
14. android:defaultValue="true"
15. />
16.
17. <!-- 这里是我自定义的Preference,详细代码请看下面
18.
19. android:dialogLayout="@layout/setting_widthseekbar"
20. 这个就是弹出窗口后要显示的布局文件..这个大家想显示成什么样子.自己设置了
21.
22. -->
23. <preferenceScreen.hall.SeekBarPreference
24.
25. android:key="sss"
26. android:title="111"
27. android:dialogTitle="333"
28. android:dialogLayout="@layout/setting_widthseekbar"
29. android:persistent="true"/>
30.
31. <PreferenceCategory android:title="SMS 助手">
32. <CheckBoxPreference
33. android:key="smsSilence"
34. android:title="静音"
35. android:summaryOn="开启"
36. android:summaryOff="关闭"
37. android:defaultValue="false"
38. />
39. <PreferenceScreen android:title="更多选项">
40. <CheckBoxPreference
41. android:key="cb21"
42. android:title="功能1"
43. android:summaryOn="开启"
44. android:summaryOff="关闭"
45. android:defaultValue="true"
46. />
47. <CheckBoxPreference
48. android:key="cb22"
49. android:title="功能2"
50. android:summaryOn="使用"
51. android:summaryOff="停用"
52. android:defaultValue="true"
53. />
54.
55. <ListPreference
56. android:key="list1"
57. android:title="android forum"
58. android:summary="开发论坛"
59. android:dialogTitle="请选择论坛"
60. android:entries="@array/entries"
61. android:entryValues="@array/entryvalue"
62. />
63. <EditTextPreference
64. android:key="et1"
65. android:title="EditTextPreference Sample"
66. android:summary="点击输入"
67. android:dialogTitle="输入设置"
68. android:defaultValue="Hello EditTextPreference"
69. />
70. </PreferenceScreen>
71. </PreferenceCategory>
72.
73. <PreferenceCategory android:title="其他选项">
74. <RingtonePreference
75. android:key="rt1"
76. android:title="RingtonePreference Sample"
77. android:summary="选择铃声"
78. />
79. <Preference
80. android:key="aa"
81. android:title="测试"
82. android:summary="测试中"
83. />
84. </PreferenceCategory>
85.
86. </PreferenceScreen>

复制代码 2.然后在preferenceActivity里面引用就好了
1. import android.app.Activity;
2. import android.os.Bundle;
3. import android.preference.CheckBoxPreference;
4. import android.preference.Preference;
5. import android.preference.Preference.OnPreferenceChangeListener;
6. import android.preference.PreferenceActivity;
7.
8. public class preferenceScreen extends PreferenceActivity
9. {
10. private CheckBoxPreference chekcb=null;
11. /** Called when the activity is first created. */
12. @Override
13. protected void onCreate(Bundle savedInstanceState) {
14. // TODO Auto-generated method stub
15. super.onCreate(savedInstanceState);
16. addPreferencesFromResource(R.xml.preference);
17. chekcb=(CheckBoxPreference) findPreference("autoBack");//这里就像findViewById一样,不过这里的id其实是key的值..
18.
19. //下面设置监听器
20. chekcb.setOnPreferenceChangeListener(new myPreferencesChance());
21. }
22. class myPreferencesChance implements OnPreferenceChangeListener{
23.
24. @Override
25. public boolean onPreferenceChange(Preference preference, Object newValue) {
26. // TODO Auto-generated method stubd
27. System.out.println("newValue"+newValue);
28. return true;
29. }
30.
31. }
32. }

复制代码


有时候因为需要我们需要自己定义个preference选项..系统自带的那些就满足不了我们了..下面让我们来看下如何自定义preference选项,其实很简单..比如说你要定义一个对话框形式的preference..只要继承DialogPreference就可以了,然后在preferenceScreen里面引用,设置一下属性就好了,xml设置,请看上面的preferenceScreen.xml文件..下面是代码
1. ackage preferenceScreen.hall;
2.
3. import android.content.Context;
4. import android.preference.DialogPreference;
5. import android.util.AttributeSet;
6. import android.widget.SeekBar;
7. import android.widget.SeekBar.OnSeekBarChangeListener;
8.
9. public class SeekBarPreference extends DialogPreference implements OnSeekBarChangeListener{
10.
11. public SeekBarPreference(Context context, AttributeSet attrs) {
12. super(context, attrs);
13. // TODO Auto-generated constructor stub
14. }
15. @Override
16. public void onProgressChanged(SeekBar seekBar, int progress,
17. boolean fromUser) {
18. // TODO Auto-generated method stub
19.
20. }
21.
22. @Override
23. public void onStartTrackingTouch(SeekBar seekBar) {
24. // TODO Auto-generated method stub
25.
26. }
27.
28. @Override
29. public void onStopTrackingTouch(SeekBar seekBar) {
30. // TODO Auto-generated method stub
31.
32. }
33.
34. }

复制代码

标签:preferencescreen,title,preferenceActivity,用法,preference,key,import,android,publi
From: https://blog.51cto.com/jdsjlzx/5733467

相关文章

  • Android开发之PreferenceActivity .
    今天我们来讲PreferenceActivity的使用。我们先来认识一下它,看看它长什么样?呵呵,截图如下:看到没?这就是PreferenceActivity.看起来蛮眼熟的,在哪见过。呵呵,对,在我们得模拟器“......
  • Oracle 中Hint用法
    一、Hint是Oracle提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。 二、在使用Hint的时候需要注意一点的是,并非在任何时候Hint都起作用,原......
  • python+selenium做ui自动化测试用法必会
    python+selenium做ui自动化测试用法必会一、前言大家都知道,基于Web端的测试的基础框架是需要Selenium做主要支撑的,这里边给大家介绍下Web测试核心之基于Python的Sele......
  • 高级vue 模板中 ref 的使用用法
    ref+普通dom标签 获取真实dom对象ref+组件标签 获取组件实例对象 <template>  <h1ref="h1Ref">www.96net.com.cn</h1>  <ref-comoonentref="co......
  • 高级vue setup 中provide和inject用法
    父组件<script>import{computed,provide,watch}from'vue'import{ref,reactive,toRefs}from'vue'importfatherfrom'./components/father.vue'exportdef......
  • 高级vue 组合api setup watch监听用法
    <script>import{computed,watch}from'vue';import{ref,reactive,toRefs}from'vue'exportdefault{  setup(){   letdata=reactive({   ......
  • 高级vue 组合api setup computed 用法
    <script>import{computed}from'@vue/reactivity';import{ref,reactive,toRefs}from'vue'exportdefault{  setup(){   letdata=reactive({  ......
  • 高级vue 组合api setup toRefs 用法
    <script>import{ref,reactive,toRefs}from'vue'exportdefault{  setup(){   letdata=reactive({    mes:0,    userObj:{   ......
  • 高级vue 组合api setup reactive用法
    <script>import{reactive}from'vue'exportdefault{  setup(){   letdata=reactive({    mes:0   });   constadd=()=>{ ......
  • PM2用法简介
    简介PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。引用全局安装​​sudonpminstallpm2@latest......