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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo