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

news2024/11/23 13:16:58

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

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

Button button3 = (Button) findComponentById(ResourceTable.Id_button3);
        button3.setClickedListener(new Component.ClickedListener() {
            @Override
            public 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 {
    @Override
    public 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() {
            @Override
            public 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() {
            @Override
            public 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();
            }
        });


    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

 ability_main.xml,布局文件

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:alignment="center"
    ohos:orientation="vertical">

    <Text
        ohos: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"

        />
    <Text
        ohos: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"
        />
    <DatePicker
        ohos: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"
        />
    <Text
        ohos: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"
        />
    <TimePicker
        ohos: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"
        />
    <Button
        ohos: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"
        />
    <Button
        ohos: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">
    <corners
        ohos:radius="100"/>
    <solid
        ohos:color="#FF59F17A"/>
</shape>

 按钮的样式:

使用方法:

<Button
        ohos: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.coloradmin.cn/o/1405003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

让二叉树无处可逃

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

Java_网络编程

一、网络编程概述 网络编程的意思就是编写的应用程序可以与网络上其他设备中的应用程序进行数据交互。 网络编程有什么用呢&#xff1f;这个就不言而喻了&#xff0c;比如我们经常用的微信收发消息就需要用到网络通信的技术、在比如我们打开浏览器可以浏览各种网络、视频等也…

Pytest中conftest.py的用法

Pytest中conftest.py的用法 ​ 在官方文档中&#xff0c;描述conftest.py是一个本地插件的文件&#xff0c;简单的说就是在这个文件中编写的方法&#xff0c;可以在其他地方直接进行调用。 注意事项 只能在根目录编写conftest.py 插件加载顺序在搜集用例之前 基础用法 这里…

如何通过系统命令排查账号安全?

如何通过系统命令排查账号安全 query user 查看当前登录账号 logoff id 注销用户id net user 查看用户 net user username 查看用户登录情况 lusrmgr.msc 查看隐藏账号 winR打开regedit注册表 找到计算机\HEKY_LOCAL_MACHINE\SAM\SAM\右键给与用户读写权限 刷新打开 HKEY…

selenium代理ip可用性测试

测试代理ip是否工作正常&#xff0c;将正常的代理ip提取出来 from selenium import webdriver from fake_useragent import UserAgent def check_proxy(proxy):print("开始测试&#xff1a;"proxy)chrome_options webdriver.ChromeOptions()chrome_options.add_arg…

一、认识 JVM 规范(JVM 概述、字节码指令集、Class文件解析、ASM)

1. JVM 概述 JVM&#xff1a;Java Virtual Machine&#xff0c;也就是 Java 虚拟机 所谓虚拟机是指&#xff1a;通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统。 即&#xff1a;虚拟机是一个计算机系统。这种计算机系统运行在完全隔离的环境中…

大数据学习之Flink,Flink的安装部署

Flink部署 一、了解它的关键组件 客户端&#xff08;Client&#xff09; 作业管理器&#xff08;JobManager&#xff09; 任务管理器&#xff08;TaskManager&#xff09; 我们的代码&#xff0c;实际上是由客户端获取并做转换&#xff0c;之后提交给 JobManger 的。所以 …

centos 7.6 进入单用户模式

1、重启服务器&#xff0c;在选择内核界面使用上下箭头移动 2、选择内核并按“e” 将“RO”改成 rw ,删除 rhgb quiet 添加 init/bin/bash Ctrl X 进入单用户模式 为防止乱码&#xff0c;修改语言为英语 修改完密码建议输入&#xff1a;touch /.autorelabel 更新系统信…

喜讯 | 华院计算摘得“2023大数据产业年度创新技术突破”奖

2024年1月17日&#xff0c; 由数据猿和上海大数据联盟主办&#xff0c;上海市经济和信息化委员会、上海市科学技术委员会指导的“第六届金猿季&魔方论坛——大数据产业发展论坛”在上海市四行仓库举行。论坛以“小趋势大未来”为主题&#xff0c;围绕大数据产业的各个领域展…

Kubernetes operator(一)client-go篇【更新中】

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列第一篇&#xff0c;主要对client-go进行学习&#xff0c;从源码阅读角度&#xff0c;学习client-go各个组件的实现原理、如何协同工作等参考视频&#xff1a;Bilibili 2022年最新k…

ThinkPHP5.0.0~5.0.23路由控制不严谨导致的RCE

本次我们继续以漏洞挖掘者的视角&#xff0c;来分析thinkphp的RCE 敏感函数发现 在调用入口函数&#xff1a;/ThinkPHP_full_v5.0.22/public/index.php 时 发现了框架底层调用了\thinkphp\library\think\App.php的app类中的incokeMethod方法 注意传递的参数&#xff0c;Refle…

Java基于沙箱环境实现支付宝支付

一、支付宝沙箱环境介绍 沙箱环境是支付宝开放平台为开发者提供的安全低门槛的测试环境&#xff0c;开发者在沙箱环境中调用接口无需具备所需的商业资质&#xff0c;无需绑定和开通产品&#xff0c;同时不会对生产环境中的数据造成任何影响。合理使用沙箱环境&#xff0c;可以…

C语言中的strtok()函数进行字符串分割

引言 在处理文本或字符串数据时&#xff0c;我们常常需要将一长串连续的字符按照特定的分隔符分解成一个个独立的子串。C语言中提供了一个非常实用的库函数——strtok()&#xff0c;用于实现这一功能。本文将通过一段示例代码详细解析并演示如何使用strtok()函数进行字符串分割…

MYSQL之索引语法与使用

索引分类 分类 含义 特点 关键字 主键索引 针对表中主键创建的索引 默认自动创建&#xff0c;只能有一个 PRIMARY 唯一索引 …

春运倒计时,AR 引领铁路运输安全新风向

根据中国交通新闻网发布最新消息&#xff0c;今年春运全国跨区域人员流动量预计达 90 亿人次。 随着春运期间旅客数量不断创下新高&#xff0c;铁路运输面临着空前的挑战与压力。 图源&#xff1a;pixabay 聚焦铁路运输效率与旅客安全保障问题&#xff0c;本期行业趋势将探讨 …

leetcode:反转链表--反转链子表

题目&#xff1a;反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 提示&#xff1a; 链表中节点的数目范围是 [0, 5000] -5000 < Node.…

LeetCode 13.罗马数字转整数(python版)

需求 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1 。12 写做 XII &#xff0c;即为 X …

【征服redis16】收官-redis缓存一致性问题解决方案

今天我们来写redis最后一篇&#xff1a;redis作为缓存时如何与数据库实现数据一致的问题。 最近看redis看得有点麻了&#xff0c;这篇就简单描述吧 目录 1.什么是缓存与数据库一致性问题 1.1 缓存一致性的概念 1.2 缓存不一致的场景 2.缓存不一致的解决思路 1.什么是缓存…

使用ElEment组件实现vue表单校验空值

1.绑定表单组件数组rules 2.在data域中设定组件rules 3.设定调用方法函数 提交校验 取消&#xff1a; 测试页面 提交空值 失去焦点 取消重置 提交后重置

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

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