Android PreferenceActivity设置菜单使用
android为了方便开发,提供了一个特殊的activity类,PreferenceActivity,用来快速的实现一个设置界面,从名字就可以看出是继承自Activity类(实际上是ListActivity),因而生命周期是一样的。
那么常见的设置菜单有两种,一是只有一个header的(左图),另一种是在3.0发布后加入的,多header的设置菜单(右图)。那么要实现多header的设置菜单,需要引用新的类PreferenceFragment,我们今天只讨论实现一个header的(比较常用)。
那么如何用PreferenceActivity呢?
首先我们需要一个配置文件,类似于main.xml,就是我们需要一个资源布局文件。
在xml文件夹下创建一个conf.xml文件用于保存我们的布局
目前android只提供了几种可选的组建,包括
PreferenceScreen 表示一个新的设置窗口,也是我们的布局的根标签。
CheckBoxPreference 表示勾选的选项
ListPreference 表示一个选项列表
EditTextPreference 表示一个文本输入框
PreferenceCategory 用于分组
RingtonePreference 用于铃声的设置
这些都继承自Preference,他们都有的特点就是都有一个key,这个的作用和我们常用的id差不多,一会如果我们要引用这个组建就要通过key来找到他。还有一个共有的属性就是title,他就是每一个设置组建所显示的内容,summary属性显示下面的文本。
其中比较特殊的是ListPreference,他需要关联一个数组资源,如上面代码中的@array/user_type
更多的组建,大家可以产看sdk文档,很多还没有提供在xml直接使用。
那么如何将xml和activity关联呢?
我们需要在onCreate方法里面调用
这样程序启动就会自动加载这个视图文件,效果如下
这个时候如果我们修改了配置的选项,会默认的保存在data/data目录下,如果我们想获取这些值,就可以参照上一篇文章中说讲的内容了。我们现在看一下这些数据存在哪里,在终端中打开adb shell ,我们切到data/data目录下,进入到我们的包中,可以看到shared_prefs文件夹,里面就有我们的com.yui_preferences.xml文件,打开就可以看到已经写入的一些数据了。
PreferenceActiviy实现事件监听
preferenceAcitivity提供了连个事件监听器
OnPreferenceChangeListener用来监听某个属性是否发生了变化。它只有一个方法:
public abstract boolean onPreferenceChange (Preference preference, Object newValue)
第一个参数是 发生变化的组件,第二个参数是新的数值
如果返回true的话就将变化写入文件,返回false不发生改变
第二个监听器更为灵活
OnPreferenceClickListener 用来监听某个选项是否被点击,它也只有一个方法
public abstract boolean onPreferenceClick (Preference preference)
返回true表示处理事件
接下来就是要给我们的组建注册监听器:
为了方便演示,我们使用了Toast实时的显示信息,这个非常简单,就不多介绍了,那么在处理事件的时候,我们只需要判断一下是哪个组件需要响应就好了
最后看一下程序运行的结果吧,当我们改变设置的时候就可以监听到了,结合上一篇文章就可以完成一个完整的设置---读写的模块了。
<Linker : http://www.cnblogs.com/octobershiner/>
转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3337936.html
Android PreferenceActivity设置菜单使用相关推荐
- Android复习05【网络编程---WebView获取文章信息、保存用户名与密码、设置菜单样式、收藏文章列表】
2020-04-02-星期四[源码可私聊我,QQ:386335886] 写篇文章不容易,点个赞再走吧,求求了~ 目 录 网络访问-思维导图 玩Android网站---查看登录Cookie 适配器 ...
- android菜单功能,Android“设置”菜单
本部分介绍了实现和自定义 Android"设置"菜单可以使用的选项. 设置主屏幕 在 Android 7.0 及更高版本中,"设置主屏幕"页面因增添了建议的设置 ...
- android自定义设置界面,Android开发之精仿QQ设置界面(自定义PreferenceActivity)
Android开发之精仿QQ设置界面(自定义PreferenceActivity) 时间:2011-12-05 10:25:06 来源:Android开发者门户 作者: 今天,再给大家分享一下QQ设置 ...
- android 自定义menu 背景颜色,Android中设置Menu菜单的文字颜色为白色
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 开发者交流裙: 188168040 Android中设置Menu菜单的文字颜色为白色,一般情况下,Android中Menu菜单的title文字颜色为黑色, ...
- android 7双排设置菜单,联想拯救者电竞手机优化横屏UI 设置菜单呈左右双排显示...
原标题:联想拯救者电竞手机优化横屏UI 设置菜单呈左右双排显示 过去的直板手机都由物理按键来实现操作,按键加上屏幕后手机整体偏长,而进入大屏智能机时代,按键的位置被屏幕取缔,但长方形的屏幕设计依然得到 ...
- Android之选项菜单和上下文菜单解析
选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Overridepublic boolean onCreateOption ...
- android studio 设置 ndk 路径
ndk下载路径: https://developer.android.google.cn/ndk/downloads android studio 设置 ndk 路径 在项目的根目录下面,有个配置文件 ...
- android的选项菜单,Android界面菜单(2)—选项菜单
选项菜单 Android 4.0 系统中,Activity在创建时便会调用 onCreateOptionMenu() 函数初始化自身的菜单系统.在Activity的整个生命周期中,选项菜单是一直被重复 ...
- android PreferenceActivity详解
原帖地址:http://gundumw100.iteye.com/blog/904097 为了引入这个概率 首先从需求说起 即:现有某Activity专门用于手机属性设置 那么应该如何做呢? 根据已学 ...
- android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用
(期末要考啊)Android的menu(菜单)按钮的使用 安卓 Android的菜单按钮 使用xml的方式创建菜单项在res下的menu目录下新建一个main.xml文件,以menu为根节点,添加一个 ...
最新文章
- Nginx从基本原理到开发实践
- spring boot(八)RabbitMQ使用
- _itemmod_day_limit
- Python中的__new__(new函数)
- 【面向对象】面向对象程序设计测试题2-Java基本语法测试题
- linux vim复制粘贴删除,Linux vim删除、复制、粘贴快捷键
- WAV文件格式终极解析
- 关于返回二维数组排序后序号数组的问题求解
- html节点替换代码,html之DOM对象replaceChild()方法(子节点替换)功能简介说明
- 马尔可夫链 ▏小白都能看懂的马尔可夫链详解
- Adobe PDF 虚拟打印机Acrobat Distiller 9.0 错误的解决
- 一文贯穿“如何制定研究生规划、找实习、秋招”
- 工业产品常用的长度单位有哪些?
- C. Equalize
- 北大青鸟所有学习资料下载地址
- 51信用卡清退P2P业务,大量资金逾期!投资人或难保本金
- 软件测试工程师发展方向,主要有哪些?
- Android button背景设置透明色和样式
- python延时执行下一步
- PowerShell 将对象转换成文本
热门文章
- nb模块不能接收公网消息_NB-IoT 对接调测问题汇总,你想知道的都在这儿 | 收藏吧...
- 手把手教你VMware14虚拟机安装教程「图文附软件」
- weblogic安装
- selenium+java自动化测试环境搭建mac
- PDF文件有密码怎么解除?
- mysql联合查询的几种方式
- office2019专业增强版64位和32位安装包收集整理
- Java Web 前端页面 模板源码
- 前端如何实现整套视频直播技术流程
- 于的繁体字有几种写法_写字繁体字有几种写法 , 辈 字 用繁体字有几种写法?...