热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android可以编辑当前界面,这才是Android设置界面的正确做法#128076;#128076;#128076;...

话不多说,先上效果图本文参考简书博客:《这才是Android设置界面的正确做法??????》写成,在其基础上删改并增加了一些内容。建议新窗

话不多说,先上效果图

4a275bdff942354c8fb643df7f8e0669.png

本文参考简书博客:《这才是Android设置界面的正确做法??????》写成,在其基础上删改并增加了一些内容。建议新窗口打开原文,在本文讲述不清楚的地方参考原文去寻找答案。

其实设置界面,不需要自己去一个一个选项地去做。Android为我们提供了一些封装好的东西,那就是基于SharedPreferences的PreferenceActivity

首先在res目录下新建一个名为“xml”的文件夹,新建preference.xml,名字可以修改(这里的代码可以参考原文,此处作了精简)

android:key="Setting1"

android:title="我是标题"

android:summary="我是简介" />

android:key="Setting2"

android:checked="true"

android:title="我是标题"

android:summary="我是简介"

android:summaryOff="我是关闭选项时的summary"

android:summaryOn="我是开启选项时的summary" />

PreferenceScree表明这是一个设置页面。

PreferenceCategory可以用来区分不同类型的选项,可以设置一个title属性作为小标题。

这里转载原文的解释

支持类型

Preference : 普通选项

EditTextPreference : 点击后弹出编辑框窗口的选项

SwitchPreference : 开关选项

RingtonePreference : 打开内容提供

CheckBoxPreference : 带复选按钮

ListPreference : 复合的单选按钮

MultiSelectListPreference : 复合的复选按钮

支持属性

key :最多的属性,因为Preference这个数据的存取就是使用SharedPreferences来实现的。所以保存时需要一个key的。

summary :小标题或者叫做简述,一般是用于对选项的简要说明。

summaryOff :具有开关属性的选项关闭时的summary

summaryOn :具有开关属性的选项打开时的summary

title :选项的标题

dialogTitle :弹出消息框的标题

dialogMessage :弹出的消息框的内容,会把MultiSelectListPreference和ListPreference的选项覆盖

layout :选项的布局(支持自定义)

然后在放置Java的目录新建一个PreferenceSettings.java,名字可以修改

package 你自己的包名;

import android.os.Bundle;

import android.preference.PreferenceActivity;

public class PreferenceSettings extends PreferenceActivity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.addPreferencesFromResource(R.xml.preference); // 如果刚刚的xml用了自己的文件名,此处记得修改

}

}

获取设置内容

// 由于PreferenceScreen基于SharedPreferences,所以他的调用方法与是相似的

String DefaultUrl = PreferenceManager.getDefaultSharedPreferences(this)

.getString("DefaultUrl", ""); // 此处的getString可视需要改变为getAll, getBoolean等(具体请查找SharedPreferences相关资料)

最后记得在manifest中注册这个Activity



推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
author-avatar
新葡京开户
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有