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.rhkb.cn/news/244112.html

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

相关文章

【趣味CSS3.0】粘性定位属性Position:sticky是不是真的没用了?

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起学习和进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&a…

Webpack5 基本使用 - 2

常用 loader loader 是辅助打包工具。webpack 默认只能打包 js 文件&#xff0c;打包其它模块就需要配置 loader 来告诉 webpack 该怎么去打包其它文件。loader 可以将文件从不同的语言转换为 JavaScript。一类文件如果需要多个 loader 处理&#xff0c;loader 的执行顺序是从…

SQL注入 ---> Day1 !

终于&#xff0c;我的课程开始讲SQL注入了&#xff0c;对就是那个常年在OWASP上有名的SQL注入 今天是真的冷啊&#xff0c;幸苦的小编还在写csdn 1.SQL注入原理 SQl注入其实就是将恶意的代码向服务器提交&#xff0c;但是后端又不过滤而引发的漏洞&#xff0…

2、Line Charts折线图

可视化时间趋势 现在你已经熟悉了编码环境,是时候学习如何制作自己的图表了! 在本教程中,您将学习足够的Python来创建专业外观的折线图。然后,在接下来的练习中,您将使用您的最新技能处理真实世界的数据集。 本课程数据集夸克网盘下载链接:https://pan.quark.cn/s/a235ac…

让二叉树无处可逃

志不立&#xff0c;天下无可成之事。 ——王阳明 二叉树 1、树&#xff1f;什么是树1、1、基本概念1、2、树的相关概念1、3、树的表示方式1、4、树的实际运用 2、二叉树&#xff1f;只有两个分支吗&#xff1f;2、1、基本概念2、2、二叉树的相关定义2、3、二叉树的相关性质2、4…

flutter获取地理定位:geolocator依赖详细用法

本文使用geolocator插件实现app物理定位功能。 该插件的主要功能有&#xff1a; 获取最后已知位置&#xff1b;获取设备当前位置&#xff1b;获取连续的位置更新&#xff1b;检查设备是否启用了定位服务&#xff1b;计算两个地理坐标之间的距离&#xff08;米&#xff09;&am…

Python基础第九篇(Python可视化的开发)

文章目录 一、json数据格式&#xff08;1&#xff09;.转换案例代码&#xff08;2&#xff09;.读出结果 二、pyecharts模块介绍三、pyecharts模块入门&#xff08;1&#xff09;.pyecharts模块安装&#xff08;2&#xff09;.pyecharts模块操作&#xff08;1&#xff09;.代码…

UE5 - Polycam扫描文件导入插件

Polycam是利用Gaussian Splatting进行3D重建的3D扫描相关软件&#xff0c;其对应有UE引擎的插件&#xff08;Plugin_XV3dGS&#xff09;可以把相关格式的文件导入到引擎&#xff1b; 首先Polycam的官网为&#xff1a;My Captures | Polycam 可以下载各种用户扫描文件&#xff…

第二证券:大金融板块逆势护盘 北向资金尾盘加速净流入

周一&#xff0c;A股商场低开低走&#xff0c;沪指收盘失守2800点。截至收盘&#xff0c;上证综指跌2.68%&#xff0c;报2756.34点&#xff1b;深证成指跌3.5%&#xff0c;报8479.55点&#xff1b;创业板指跌2.83%&#xff0c;报1666.88点。沪深两市合计成交额7941亿元&#xf…

Django代码中的TypeError ‘float‘ object is not callable

学习使用Django进行网页爬取取决于你对Python、Django框架和网络爬虫的熟悉程度。以下是一些关键点&#xff0c;总的来说&#xff0c;如果你已经具备Python和Django的基础知识&#xff0c;并对网页爬虫有一定了解&#xff0c;那么学习使用Django进行网页爬取将会比较容易。如果…

鸿蒙应用开发学习:获取手机位置信息

一、前言 移动应用中经常需要获取设备的位置信息&#xff0c;因此在鸿蒙应用开发学习中&#xff0c;如何获取手机的位置信息是必修课。之前我想偷懒从别人那里复制黏贴代码&#xff0c;于是在百度上搜了一下&#xff0c;可能是我输入的关键字不对&#xff0c;结果没有找到想要…

Bluetooth Device Address(BD_ADDR) - 2

蓝牙核心规范&#xff1a;Core v5.3中关于蓝牙地址的其他说明 Vol 3: Host, Part C: Generic Access Profile 3 User interface aspects 3.2 Representation of Bluetooth parameters 3.2.1 Bluetooth Device Address (BD_ADDR) BD_ADDR 是蓝牙设备使用的地址。在设备发现过…

Docker容器操作 Docker创建并运行Nginx、Redis

容器操作的命令如图&#xff1a; 容器命令 # 创建并运行一个容器&#xff0c;运行成功后会返回容器id docker run# 暂停&#xff0c;将容器挂起&#xff0c;内存暂存&#xff0c;CPU不再执行 docker pause # 恢复运行&#xff0c;内存恢复&#xff0c;CPU恢复 docker unpause#…

设计模式篇章(4)——十一种行为型模式

这个设计模式主要思考的是如何分配对象的职责和将对象之间相互协作完成单个对象无法完成的任务&#xff0c;这个与结构型模式有点像&#xff0c;结构型可以理解为静态的组合&#xff0c;例如将不同的组件拼起来成为一个更大的组件&#xff1b;而行为型更是一种动态或者具有某个…

微信小程序实现长按 识别图片二维码

第一种方案&#xff08;只需要在image里面加一个属性就可以了&#xff09; show-menu-by-longpress“{{true}}” <image show-menu-by-longpress"{{true}}" src"{{sysset.dyqewm}}" />第二种方案 放大预览图片&#xff0c;长按识别二维码 wxml <…

ImportError: The Qt version imported is 5.9.7 but Matplotlib requires Qt>=5.12

一、错误描述 ImportError: The Qt version imported is 5.9.7 but Matplotlib requires Qt>5.12 在用python中的plt包进行绘图时对plt进行了更新&#xff0c;更新之后再运行以前的代码就出现了这个问题。 二、bug消除 &#xff08;一&#xff09;解决方法——升级pyqt包…

【4k】4k的webrtc播放示例

目录 使用带研发角色的账号&#xff0c;在app端设置下分辨率 &#xff1a; 4k 点播 ffplay播放看下详细的参数 使用带研发角色的账号&#xff0c;在app端设置下分辨率 &#xff1a; 4k 点播 ffplay播放看下详细的参数

关于在微信小程序中使用taro + react-hook后销毁函数无法执行的问题

问题&#xff1a; 在 taro中使用navigageTo() 跳转路由后hook中useEffect 的return函数没有执行 没有执行return函数 框架版本&#xff1a; tarojs: 3.6 react: 18.0 原因&#xff1a; 使用navigateTo() 跳转路由的话并不会销毁页面和组件&#xff0c;会加入一…

2023年第十四届蓝桥杯软件赛省赛总评

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上交流答疑&am…

Portainer Docker容器可视化管理平台实践

Portainer Docker容器可视化管理平台实践 引安装登录Remote ENV 实践 引 平常用docker命令操作比较多&#xff0c;找了一款docker可视化工具&#xff0c;方便快速预览和批量操作&#xff0c;不想一行一行敲的时候&#xff0c;可以偷偷懒。Portainer试用了一下&#xff0c;安装…