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

news/2024/7/21 9:52:07 标签: harmonyos, 华为

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.niftyadmin.cn/n/5342122.html

相关文章

社区公益培训系统功能说明

社区公益培训系统功能说明 本系统将用于社区面向居民开展的公益培训课程展示&#xff0c;在线报名&#xff0c;并按班级排课上课&#xff0c;上课时学员要扫码签到&#xff0c;经常旷课的学员将禁止再报名其他课程。 1. 用户注册与登录 - 提供用户注册和登录功能&#xff0c;…

相关系数(皮尔逊相关系数和斯皮尔曼相关系数)

本文借鉴了数学建模清风老师的课件与思路&#xff0c;可以点击查看链接查看清风老师视频讲解&#xff1a;5.1 对数据进行描述性统计以及皮尔逊相关系数的计算方法_哔哩哔哩_bilibili 注&#xff1a;直接先看 &#xff08; 三、两个相关系数系数的比较 &#xff09; 部分&#x…

JavaEE-SSM-订单管理-后端(一)

2.后端&#xff1a;订单管理 2.1 环境搭建 2.1.1 SQL语句 create database day045; use day045;create table user(uid varchar(20) primary key,username varchar(50) );create table order(oid varchar(20) primary key,price double,user_id varchar(20) );insert into u…

人形机器人创新发展顶层设计与关键技术布局

系列文章目录 前言 随着新一轮科技革命和产业变革的深入推进&#xff0c;我国高度重视人形机器人的创新发展&#xff0c;提出了一系列具有前瞻性和战略性的指导意见。规划指出&#xff0c;到2025年&#xff0c;我国将初步建立人形机器人创新体系&#xff0c;攻克“大脑”、“小…

SPN的重要性 | 保障服务安全和身份验证

什么是 Service Principal Name&#xff08;SPN&#xff09;&#xff1f; SPN 是用于标识网络服务的唯一名称。在 Windows 中&#xff0c;SPN 与 Kerberos 认证一起使用。 SPN 是由两部分组成的&#xff1a; 服务类型&#xff08;Service Class&#xff09;&#xff1a; 表示…

解决网站高并发问题的策略

解决网站高并发问题的策略 1.应用和数据服务分离&#xff1a;通过将应用和数据服务分离&#xff0c;可以降低数据库的负载压力&#xff0c;提高系统的可扩展性和稳定性。这种策略有助于提高系统的并发处理能力&#xff0c;满足大量用户的需求。 2.使用缓存技术&#xff1a;通过…

mysql 自动生成随机数

在MySQL中&#xff0c;生成随机数可以使用RAND()函数。以下是一些基本用法&#xff1a; 1. **生成0到1之间的随机浮点数**&#xff1a; sql SELECT RAND(); 2. **生成指定范围内的随机整数**&#xff08;例如&#xff0c;生成1到100之间的随机整数&#xff09;&…

IDEA更改页面不重启

IDEA更改页面不重启 idea若依 修改包名 idea 1、修改IDEA设置 File -> Settings -> Build Execution Deployment -> Build Project automatically 勾选2、勾选Running Ctrl Shift Alt / 然后选择 Registry&#xff0c;勾上 Compiler.autoMake.allow.when.app.runn…