Android中preference标签的使用

article/2025/11/5 2:11:06

 现在做公司任务的时候,经常会要去读Settings的源码,然后发现在xml文件中几乎全是用的preferenceScreen和preferenceCategory标签,很少有用布局和控件的,然后我就自己上网看了很多有关的资料,在此总结下。

 

首先在res目录下,新建一个命名为xml的文件夹,然后建立一个aaa.xml文件,选择resource标签。

先使用PreferenceCategory,代码如下

1 <PreferenceCategory android:title="显示一排偏好" >
2         <CheckBoxPreference
3             android:key="checkbox_pre"
4             android:summary="这是一个开关按钮"
5             android:title="开关偏好" />
6     </PreferenceCategory>

效果图:

 

PreferenceCategory相当于分组,把同一类的选项放在同一块区域。

 

再来看看PreferenceScreen,代码如下

 

1 <PreferenceScreen
2             android:key="screen_pre"
3             android:summary="显示另一个偏好屏幕"
4             android:title="屏幕" >
5             <CheckBoxPreference
6                 android:key="next_screen_checkbox_pre"
7                 android:summary="另一个屏幕上的偏好"
8                 android:title="开关偏好" />
9         </PreferenceScreen>

 

 

如图,,然后发现没有checkbox显示

 

因为PreferenceScreen是可以点进去的,点击该选项,进入就可以看到checkbox了

 

然后看看ListPreference,一般都嵌在PreferenceScreen中使用,看起来比较舒服,代码如下

 

<PreferenceScreen android:title="基于对话框的偏好" > 
<ListPreferenceandroid:dialogTitle="选择一个"android:entries="@array/auto_update_frequency_entry"android:entryValues="@array/auto_update_frequency_value"android:key="list_pre"android:summary="使用一个列表对话框"android:title="列表偏好" ></ListPreference>
</PreferenceScreen>

点击该screen,listPreference会像dialog一样弹出来,如图

 

 

android:entries和android:entryValues两个属性的值来源:

在values目录下建立一个array.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><string-array name="auto_update_frequency_entry"><item >10分钟</item><item >30分钟</item><item >1小时</item><item >12小时</item><item >24小时</item></string-array><string-array name="auto_update_frequency_value"><item >10</item><item >30</item><item >60</item><item >720</item><item >1440</item></string-array>
</resources>

 

目前大概就了解了这些,以后有什么再补充

 

转载于:https://www.cnblogs.com/robben/p/4325238.html


http://chatgpt.dhexx.cn/article/itjHPhLo.shtml

相关文章

Android 之Preference控件

简述 Preference是Android的控件之一&#xff0c;相对来说我们用的比较少&#xff0c;但在系统应用的Settings设置应用模块中大部分由Preference控件组成。 主要成分 Preference主要角色是子控件&#xff0c;PreferenceCategory相当于LinearLayout和Relative layout&#xff0c…

使用jxls导出报错:Connot load XLS transformer please make sure a Transformer implementation is in classpath

使用jxls导出是报错&#xff1a; java.lang.IllegalStateException: Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath 仔细排查&#xff0c;是因为批注的问题&#xff1a; 是因为批注放到第二个单元格去了&#xff0c;扫描不到区…

XLSTransformer生成excel文件案例

项目结构图&#xff1a; 项目中所用到的jar&#xff0c;可以到http://www.findjar.com/index.x下载 ExcelUtil类源码&#xff1a; package util; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.u…

XLSTransformer 导出Excel数据

先上代码 java code: <pre name"code" class"java">package cn.export.util; import java.io.FileInputStream; import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.Serv…

Java XLSTransformer生成excel文件

把页面的数据导出excel 数据 然后进入 struts2 action <action name"generateExcel" class"com.xx.emidas.activity.activity.ajax.XLSTransformerGenerateExcelAction"></action> package com.xx.emidas.activity.activity.ajax;import co…

XLSTransformer生成excel文件简单示例

项目结构图&#xff1a; 项目中所用到的jar&#xff0c;可以到http://www.findjar.com/index.x下载 ExcelUtil类源码&#xff1a; [java] view plain copy package util; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.uti…

XLSTransformer生成excel文件简单演示样例

项目结构图&#xff1a; 项目中所用到的jar&#xff0c;能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码&#xff1a; package util;import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map;i…

XLSTransformer+模板 导出 Excel

利用excel模板来导出excel文件&#xff0c; 十分方便 RequestMapping(value "/download/vin", method RequestMethod.GET)ResponseBodypublic ResBody exportExcel(HttpServletRequest request) {String path request.getSession().getServletContext().getRealPa…

XLSTransformer.transformWorkbook导出excel不能将列导出完整问题

生产就项目用到jxls加poi导出excel文件 //模拟数据 List data new ArrayList<>(); Map<String,Object> excelMap new HashMap<>();excelMap.put("ro", data ); //项目用到的导出代码 String fileName SystemConst.WEB_ROOT_PATH File.separat…

Jxls异常 Cannot load XLS transformer. Please make sure a Transformer impleme

错误&#xff1a;Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath 原因&#xff1a; 这是 jxls 的版本升级2.4后需要额外导入其他依赖 还要在plugins中加上以下插件 <plugin><groupId>org.apache.maven.plugins</…

Excel之XLSTransformer

前言 利用该工具类可以向excel模板中写入数据&#xff0c;而不用写过多代码画excel 引入依赖 java <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.3</version> </dependency>…

使用XLSTransformer生成报表的步骤和流程

使用XLSTransformer生成XLS报表的步骤和流程&#xff1a; 需要引入的jar包&#xff1a; jxls-core-0.9.7.jar jxls-reader-0.9.7.jar poi-3.6.jar commons-jexl-1.1.jar commons-digester-2.0.jar commons-beanutil-core-1.8.3.jar commons-collection.jar 示例代码…

利用模板导出文件(一)之XLSTransformer导出excel文件

由于现在好多公司都在实行办公无纸化操作&#xff0c;所以一般都是使用excel以及word来办公&#xff0c;本文是公司项目中使用excel文件模板生成对应的文件&#xff1a; 首先&#xff0c;需要导入一下几个包&#xff1a; 接下来就是具体的代码&#xff1a; import java.io.Fil…

关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题

1. 需求&#xff1a;最近拿到的一个任务&#xff0c;是将订单列表导出&#xff0c;按照订单列表导出&#xff08;包括筛选条件&#xff09;。 背景&#xff1a;由于原本的订单列表查询代码太过繁重&#xff0c;里面夹杂的逻辑较多&#xff0c;再有一个是自己想尽快的熟悉公司…

最简单方便的excel导出方式

前言&#xff1a;开发各种统计系统以及报表系统之类的不可避免的就是导出excel功能&#xff0c;传统的poi用过的都知道&#xff0c;每个sheet每个row都需要去定义去美化&#xff0c;繁琐不说还很浪费时间&#xff0c;最近本人发现两种较快速的方法&#xff0c;一种是excel模版方…

Handler、Looper、HandleThread、ActivityThread简介

1. Handler 源码位于&#xff1a; platform/frameworks/base/core/java/android/os/Handler.java Handler允许发送和处理与线程的MessageQueue关联的Message和Runnable对象。每个Handler实例都与单个线程和该线程的消息队列相关联。 当创建一个新的Handler时&#xff0c;它会被…

Android—ActivityThread与Handler

应用启动过程&#xff1a; ActivityThread ActivityThread就是主线程或UI线程&#xff0c;ActivityThread的main方法是整个APP的入口。 public final class ActivityThread {//... final H mH new H();final ArrayMap<IBinder, ActivityClientRecord> mActivities n…

ActivityThread运行框架

http://www.embeddedlinux.org.cn/Androidkernel/77.htm 在分析中&#xff0c;我们可以看到真正对应应用进程的不是Application而是ActivityThread。我们从实际的应用堆栈可以看到&#xff1a; NaiveStart.main() ZygoteInit.main ZygoteInit$MethodAndArgsCall.run Method.In…

ActivityThread应用进程

ActivityThread应用进程 android12-release Zygote进程SystemServer进程(即system_server)Launcher启动过程、AMS:startActivity桌面启动应用 缺少具体应用进程启动 1. 涉及进程 Zygote进程&#xff1a;init进程 fork 第一个Java进程&#xff0c;Zygote是所有Java进程的父进…

Android-Activity

配置Activity&#xff1a; 如果Activity所在的包与AndroidManifest.xml文件的<manifest></manifest>标签中通过 package属性指定的包名一致&#xff0c;则android:name属性的值可以直接设置为“.Activity名称” <activity android:name"…