快速开发设置界面-----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

相关文章

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife