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

2024-06-09 23:18

本文主要是介绍快速开发设置界面-----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

这篇关于快速开发设置界面-----PreferenceActivity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046578

相关文章

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完