18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器

18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器

点击button按钮触发事件显示月份与获取的时间

Button button3 = (Button) findComponentById(ResourceTable.Id_button3);button3.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {String time2_h = String.valueOf(timePicker.getHour()) ;String time2_m = String.valueOf(timePicker.getMinute()) ;String time2_s = String.valueOf(timePicker.getSecond()) ;new ToastDialog(getContext()).setText("获取时间为:"+time2_h+":"+time2_m+":"+time2_s).setAlignment(LayoutAlignment.BOTTOM).show();}});

支持的XML属性

DatePicker的共有XML属性继承自:StackLayout

DatePicker的自有XML属性见下表:

属性名称

中文描述

取值

取值说明

使用案例

date_order

显示格式,年月日

day-month-year

表示日期以日-月-年的格式显示。

ohos:date_order="day-month-year"

month-day-year

表示日期以月-日-年的格式显示。

year-month-day

表示日期以年-月-日的格式显示。

year-day-month

表示日期以年-日-月的格式显示。

day-month

表示日期以日-月的格式显示。

month-day

表示日期以月-日的格式显示。

year-month

表示日期以年-月的格式显示。

month-year

表示日期以月-年的格式显示。

only-year

表示只显示年份。

only-month

表示只显示月份。

only-day

表示只显示日期。

day_fixed

日期是否固定

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:day_fixed="true"

ohos:day_fixed="$boolean:true"

month_fixed

月份是否固定

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:month_fixed="true"

ohos:month_fixed="$boolean:true"

year_fixed

年份是否固定

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:year_fixed="true"

ohos:year_fixed="$boolean:true"

max_date

最大日期

long类型

可以直接设置长整型值,也可以引用string资源。

ohos:max_date="1234567"

ohos:max_date="$string:date"

min_date

最小日期

long类型

可以直接设置长整型值,也可以引用string资源。

ohos:min_date="1234567"

ohos:min_date="$string:date"

text_size

文本大小

float类型

表示尺寸的float类型。

可以是浮点数值,其默认单位为px;也可以是带px/vp/fp单位的浮点数值;也可以引用float资源。

ohos:text_size="30"

ohos:text_size="16fp"

ohos:text_size="$float:size_value"

normal_text_size

未选中文本的大小

float类型

表示尺寸的float类型。

可以是浮点数值,其默认单位为px;也可以是带px/vp/fp单位的浮点数值;也可以引用float资源。

ohos:normal_text_size="30"

ohos:normal_text_size="16fp"

ohos:normal_text_size="$float:size_value"

selected_text_size

选中文本的大小

float类型

表示尺寸的float类型。

可以是浮点数值,其默认单位为px;也可以是带px/vp/fp单位的浮点数值;也可以引用float资源。

ohos:selected_text_size="30"

ohos:selected_text_size="16fp"

ohos:selected_text_size="$float:size_value"

normal_text_color

未选中文本的颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:normal_text_color="#A8FFFFFF"

ohos:normal_text_color="$color:black"

selected_text_color

选中文本的颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:selected_text_color="#A8FFFFFF"

ohos:selected_text_color="$color:black"

operated_text_color

操作项的文本颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:operated_text_color="#A8FFFFFF"

ohos:operated_text_color="$color:black"

selected_normal_text_margin_ratio

已选文本边距与常规文本边距的比例

float类型

可以直接设置浮点数值,也可以引用float资源。

取值需>0.0f,默认值为1.0f。

ohos:selected_normal_text_margin_ratio="0.5"

ohos:selected_normal_text_margin_ratio="$float:ratio"

selector_item_num

显示的项目数量

integer类型

可以直接设置整型数值,也可以引用integer资源。

ohos:selector_item_num="10"

ohos:selector_item_num="$integer:num"

shader_color

着色器颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:shader_color="#A8FFFFFF"

ohos:shader_color="$color:black"

top_line_element

选中项的顶行

Element类型

可直接配置色值,也可引用color资源或引用media/graphic下的图片资源。

ohos:top_line_element="#FFFFFFFF"

ohos:top_line_element="$color:black"

ohos:top_line_element="$media:media_src"

ohos:top_line_element="$graphic:graphic_src"

bottom_line_element

选中项的底线

Element类型

可直接配置色值,也可引用color资源或引用media/graphic下的图片资源。

ohos:bottom_line_element="#FFFFFFFF"

ohos:bottom_line_element="$color:black"

ohos:bottom_line_element="$media:media_src"

ohos:bottom_line_element="$graphic:graphic_src"

wheel_mode_enabled

选择轮是否循环显示数据

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:wheel_mode_enabled="true"

ohos:wheel_mode_enabled="$boolean:true"

TimePicker的自有XML属性见下表:

表1 TimePicker的自有XML属性

属性名称

中文描述

取值

取值说明

使用案例

am_pm_order

在12小时制显示的情况下,控制上午下午排列顺序

start

表示am/pm列靠时间选择器起始端显示。

ohos:mode_24_hour="false"

ohos:am_pm_order="start"

end

表示am/pm列靠时间选择器结束端显示。

ohos:mode_24_hour="false"

ohos:am_pm_order="end"

left

表示am/pm列靠时间选择器左侧显示。

ohos:mode_24_hour="false"

ohos:am_pm_order="left"

right

表示am/pm列靠时间选择器右侧显示。

ohos:mode_24_hour="false"

ohos:am_pm_order="right"

mode_24_hour

是否24小时制显示

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:mode_24_hour="true"

ohos:mode_24_hour="$boolean:true"

hour

显示小时

integer类型

可以直接设置整型数值,也可以引用integer资源。

小时取值范围必须在0~23。

ohos:hour="23"

ohos:hour="$integer:hour"

minute

显示分钟

integer类型

可以直接设置整型数值,也可以引用integer资源。

分钟取值范围必须在0~59。

ohos:minute="59"

ohos:minute="$integer:minute"

second

显示秒

integer类型

可以直接设置整型数值,也可以引用integer资源。

秒钟取值范围必须在0~59。

ohos:second="59"

ohos:second="$integer:second"

normal_text_color

未选中文本的颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:normal_text_color="#FFFFFFFF"

ohos:normal_text_color="$color:black"

selected_text_color

选中文本的颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:selected_text_color="#FF45A5FF"

ohos:selected_text_color="$color:black"

operated_text_color

操作项的文本颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:operated_text_color="#A8FFFFFF"

ohos:operated_text_color="$color:black"

normal_text_size

未选中文本的大小

float类型

表示尺寸的float类型。

可以是浮点数值,其默认单位为px;也可以是带px/vp/fp单位的浮点数值;也可以引用float资源。

ohos:normal_text_size="30"

ohos:normal_text_size="16fp"

ohos:normal_text_size="$float:size_value"

selected_text_size

选中文本的大小

float类型

表示尺寸的float类型。

可以是浮点数值,其默认单位为px;也可以是带px/vp/fp单位的浮点数值;也可以引用float资源。

ohos:selected_text_size="30"

ohos:selected_text_size="16fp"

ohos:selected_text_size="$float:size_value"

selected_normal_text_margin_ratio

已选文本边距与常规文本边距的比例

float类型

可以直接设置浮点数值,也可以引用float资源。

取值需>0.0f,默认值为1.0f。

ohos:selected_normal_text_margin_ratio="0.5"

ohos:selected_normal_text_margin_ratio="$float:ratio"

selector_item_num

显示的项目数量

integer类型

可以直接设置整型数值,也可以引用integer资源。

ohos:selector_item_num="3"

ohos:selector_item_num="$integer:num"

shader_color

着色器颜色

color类型

可以直接设置色值,也可以引用color资源。

ohos:shader_color="#A8FFFFFF"

ohos:shader_color="$color:black"

text_am

上午文本

string类型

可以直接设置文本字串,也可以引用string资源(推荐使用)。

ohos:text_am="8:00:00"

ohos:text_am="$string:am"

text_pm

下午文本

string类型

可以直接设置文本字串,也可以引用string资源(推荐使用)。

ohos:text_pm="22:00:00"

ohos:text_pm="$string:pm"

top_line_element

选中项的顶行

Element类型

可直接配置色值,也可引用color资源或引用media/graphic下的图片资源。

ohos:top_line_element="#FFFFFFFF"

ohos:top_line_element="$color:black"

ohos:top_line_element="$media:media_src"

ohos:top_line_element="$graphic:graphic_src"

bottom_line_element

选中项的底线

Element类型

可直接配置色值,也可引用color资源或引用media/graphic下的图片资源。

ohos:bottom_line_element="#FFFFFFFF"

ohos:bottom_line_element="$color:black"

ohos:bottom_line_element="$media:media_src"

ohos:bottom_line_element="$graphic:graphic_src"

wheel_mode_enabled

选择轮是否循环显示数据

boolean类型

可以直接设置true/false,也可以引用boolean资源。

ohos:wheel_mode_enabled="false"

ohos:wheel_mode_enabled="$boolean:false"

MainAbilitySlice.java

package com.example.myapplication.slice;import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.components.DatePicker;
import ohos.agp.components.TimePicker;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.Color;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.ToastDialog;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);DatePicker datePicker = (DatePicker) findComponentById(ResourceTable.Id_date_picker5);datePicker.updateDate(2008,8,8);//设置当前选择日期datePicker.setDateOrder(DatePicker.DateOrder.YMD); //显示年月日顺序datePicker.setSelectorItemNum(3);//显示项目的条数datePicker.setSelectedNormalTextMarginRatio(6);datePicker.setOperatedTextColor(Color.BLUE);TimePicker timePicker = (TimePicker) findComponentById(ResourceTable.Id_time_picker5);timePicker.set24Hour(false);// 12小时制, true:24小时制timePicker.setAmPmOrder(TimePicker.AmPmOrder.END);//AM.PM放在最后timePicker.setAmPmStrings("美好上午","精彩下午");timePicker.setRange(new int[]{8,0,0,21,59,59}); //可选时间8:00 -- 21:59//设置框线ShapeElement blueElement = new ShapeElement();blueElement.setRgbColor(new RgbColor(0,0,255));timePicker.setDisplayedLinesElements(blueElement,blueElement);//渐变背景颜色,灰色//timePicker.setShaderColor(new Color(Color.rgb(150,150,150)));timePicker.setShaderColor(new Color(Color.getIntColor("#1E90FF")));String date2 = String.valueOf(datePicker.getDayOfMonth());Button button1 = (Button) findComponentById(ResourceTable.Id_button1);button1.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {new ToastDialog(getContext()).setText("获取的月份:"+date2).setAlignment(LayoutAlignment.BOTTOM).show();}});Button button3 = (Button) findComponentById(ResourceTable.Id_button3);button3.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {String time2_h = String.valueOf(timePicker.getHour()) ;String time2_m = String.valueOf(timePicker.getMinute()) ;String time2_s = String.valueOf(timePicker.getSecond()) ;new ToastDialog(getContext()).setText("获取时间为:"+time2_h+":"+time2_m+":"+time2_s).setAlignment(LayoutAlignment.BOTTOM).show();}});}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}
}

 ability_main.xml,布局文件

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="center"ohos:orientation="vertical"><Textohos:id="$+id:text_helloworld"ohos:height="match_content"ohos:width="match_content"ohos:background_element="#FFB1C4FC"ohos:layout_alignment="horizontal_center"ohos:text="$string:mainability_HelloWorld"ohos:text_size="40vp"/><Textohos:id="$+id:text_helloworld3"ohos:height="match_content"ohos:width="match_content"ohos:background_element="$graphic:background_ability_main"ohos:layout_alignment="horizontal_center"ohos:text="日期选择器"ohos:text_size="40vp"/><DatePickerohos:id="$+id:date_picker5"ohos:height="match_content"ohos:width="match_parent"ohos:background_element="#FF71F68E"ohos:layout_alignment="horizontal_center"ohos:normal_text_size="20vp"ohos:selected_text_size="22vp"ohos:top_margin="10vp"/><Textohos:id="$+id:text_helloworld3a"ohos:height="match_content"ohos:width="match_content"ohos:background_element="$graphic:background_ability_main"ohos:layout_alignment="horizontal_center"ohos:text="时间选择器"ohos:text_size="40vp"/><TimePickerohos:id="$+id:time_picker5"ohos:height="match_content"ohos:width="match_parent"ohos:background_element="#FF71F68E"ohos:layout_alignment="horizontal_center"ohos:normal_text_size="20vp"ohos:selected_text_size="22vp"ohos:top_margin="10vp"/><Buttonohos:id="$+id:button1"ohos:width="match_content"ohos:height="match_content"ohos:text_size="27fp"ohos:text="获取日期"ohos:background_element="$graphic:capsule_button_element"ohos:left_margin="15vp"ohos:bottom_margin="15vp"ohos:right_padding="15vp"ohos:left_padding="15vp"/><Buttonohos:id="$+id:button3"ohos:width="match_content"ohos:height="match_content"ohos:text_size="27fp"ohos:text="获取时间"ohos:background_element="$graphic:capsule_button_element"ohos:left_margin="15vp"ohos:bottom_margin="15vp"ohos:right_padding="15vp"ohos:left_padding="15vp"/></DirectionalLayout>

capsule_button_element.xml

放在目录:项目名称xxx\entry\src\main\resources\base\graphic

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><cornersohos:radius="100"/><solidohos:color="#FF59F17A"/>
</shape>

 按钮的样式:

使用方法:

<Buttonohos:id="$+id:button3"ohos:width="match_content"ohos:height="match_content"ohos:text_size="27fp"ohos:text="获取时间"ohos:background_element="$graphic:capsule_button_element"ohos:left_margin="15vp"ohos:bottom_margin="15vp"ohos:right_padding="15vp"ohos:left_padding="15vp"/>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/423262.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BL120PM PLC网关,实现PLC协议转Modbus协议

随着物联网技术的迅猛发展&#xff0c;人们深刻认识到在智能化生产和生活中&#xff0c;实时、可靠、安全的数据传输至关重要。在此背景下&#xff0c;高性能的物联网数据传输解决方案——协议转换网关应运而生&#xff0c;广泛应用于工业自动化和数字化工厂应用环境中。 钡铼…

muduo网络库剖析——线程Thread类

muduo网络库剖析——线程Thread类 前情从muduo到my_muduo 概要框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库&#xff0c;考虑的肯定是众多情况是否可以高效满足&#xff1b;而作为学习者&#xff0c;我们需要抽取其中的精…

RectMask2D的合批情况验证

1.经过实际测试&#xff0c;RectMask2D在裁剪区域完全相同且位置完全重合的情况下能够合批 但是当RectMask2D位置不重合时&#xff0c;就不能合批 注意&#xff0c;虽然此处被RectMask2D裁剪了&#xff0c;但是有部分是被渲染的&#xff0c;在计算深度时属于需要渲染…

【人工智能大脑】仿生学与人工智能交汇:基于MP神经网络的精准农业实践

MP神经网络&#xff0c;即McCulloch-Pitts模型&#xff08;MCP Model&#xff09;&#xff0c;是神经网络的早期形式之一&#xff0c;由Warren McCulloch和Walter Pitts在1943年提出。这个模型为现代人工神经网络的发展奠定了理论基础&#xff0c;并首次尝试模拟了生物神经元的…

【数据结构】二叉树算法讲解(定义+算法原理+源码)

博主介绍&#xff1a;✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦&#xff01; &#x1f345;附上相关C语言版源码讲解&#x1f345; &#x1f44…

单元化(Set)架构设计详解:异地多活、突破扩展上限的优选方案

文章目录 一、单元化架构基础1、扩展性&#xff08;Scalability&#xff09;概述2、扩展性 - 横向扩展&#xff08;Horizontal Scale&#xff09;3、扩展性 - 纵向扩展&#xff08;Vertical Scale&#xff09;4、扩展性 - 扩展魔方5、一致性 - 数据库事务一致性&#xff08;ACI…

分布式websocket IM聊天系统相关问题问答【第九期】

前言 上期视频讲解了自己关于聊天系统的设计的时候出现了一些不一样的声音。不了解情况的可以看上上期视频。这期主要是讨论。IM聊天系统设计方案多。我的先说明一下自己的技术背景互相之间才能更好的理解。 本期对应视频 目前已经写的文章有。并且有对应视频版本。 git项目地…

PLAN方法:解决 GAN 生成医学图像 Latent 空间中的隐私保护方法

PLAN方法&#xff1a;解决 GAN 生成医学图像 Latent 空间中的隐私保护方法 PLAN 原理StyleGAN 生成视网膜图k-SALSA 生成视网膜图PLAN方法 生成视网膜图 总结 PLAN 原理 论文&#xff1a;https://arxiv.org/abs/2307.02984 代码&#xff1a;https://github.com/perceivelab/P…

Ps:直线工具

使用直线工具 Line Tool&#xff0c;可以绘制直线或带箭头的直线&#xff0c;可以是矢量形状&#xff0c;或者是基于像素的形状&#xff0c;或者是路径&#xff08;形状轮廓&#xff09;。 快捷键&#xff1a;U ◆ ◆ ◆ 常用操作方法与技巧 1、按住 Shift 键拖拽&#xff0c…

Element组件完整引入、按需引入、样式修改(全局、局部)、简单安装less以及npm命令证书过期等

目录 一、npm 安装二、完整引入三、按需引入四、样式修改1.按需加载的全局样式修改2. 局部样式修改1. 在 css 预处理器如 less scss 等直接使用::v-deep2. 只能用在原生 CSS 语法中:/deep/ 或者 >>> 五、 拓展&#xff1a;npm 安装less报错&#xff0c;提示证书过期六…

Java-泛型与通配符

泛型基础 泛型示例 泛型的作用 泛型的语法 注意事项 1.泛型只能用引用类型实例化而非基本类型 自定义泛型 自定义泛型类 2中数组不能初始化是因为不知道要开辟多大的空间 3 类加载是会加载静态方法 此时泛型的具体类型并没有被确定 因为对象没有被 声明或实例化 自定义泛…

Sqoop与Flume的集成:实时数据采集

将Sqoop与Flume集成是实现实时数据采集和传输的重要步骤之一。Sqoop用于将数据从关系型数据库导入到Hadoop生态系统中&#xff0c;而Flume用于数据流的实时采集、传输和处理。本文将深入探讨如何使用Sqoop与Flume集成&#xff0c;提供详细的步骤、示例代码和最佳实践&#xff0…