【鸿蒙软件开发】ArkTS基础组件之TextClock(时间显示文本)、TextPicker(滑动选择文本)

news2024/11/28 10:58:25

文章目录

  • 前言
  • 一、TextClock
    • 1.1 子组件
    • 1.2 接口
      • 参数
        • TextClockController
    • 1.3 属性
    • 1.4 事件
    • 1.5 示例代码
  • 二、TextPicker
    • 2.1 子组件
    • 2.2 接口
      • 参数
    • 2.3 属性
    • 2.4 事件
    • 2.5 示例代码
  • 总结


前言

TextClock组件:通过文本将当前系统时间显示在设备上。支持不同时区的时间显示,最高精度到秒级。
TextPicker组件:滑动选择文本内容的组件。


一、TextClock

TextClock组件通过文本将当前系统时间显示在设备上。支持不同时区的时间显示,最高精度到秒级。

说明
该组件从API Version 8开始支持。后续版本如有新增内容,会更新博客。

1.1 子组件

1.2 接口

使用下面这个函数,我们即可创建一个TextClock将当前系统时间显示在设备上了。

TextClock(options?: { timeZoneOffset?: number, controller?: TextClockController })

在这里插入图片描述

参数

参数名称:timeZoneOffset 参数类型number 是否必填: 否
参数功能:设置时区偏移量。
取值范围为[-14, 12],表示东十二区到西十二区,其中负值表示东时区,正值表示西时区,比如东八区为-8。
对横跨国际日界线的国家或地区,用-13(UTC+13)和-14(UTC+14)来保证整个国家或者区域处在相同的时间,当设置的值不在取值范围内时,将使用当前系统的时区偏移量。
默认值:当前系统的时区偏移量

参数名:controller 参数类型:TextClockController 是否必填:否
参数功能:绑定一个控制器,用来控制文本时钟的状态。

TextClockController

TextClock容器组件的控制器,可以将该控制器绑定到TextClock组件,通过它控制文本时钟的启动与停止。一个TextClock组件仅支持绑定一个控制器。

导入对象

controller: TextClockController = new TextClockController();

在这里插入图片描述

开启文本时钟
我们可以使用下面的函数启动文本时钟。

start()

停止文本时钟
我们可以使用下面的函数停止文本时钟。

stop()

1.3 属性

属性
除支持通用属性外,还支持以下属性:

参数名称:format 参数类型:string
参数描述:设置显示时间格式。

参数具体使用:
日期间隔符固定为"/“,时间间隔符为”:“。
如yyyyMMdd,yyyy-MM-dd显示为yyyy/MM/dd,
hhmmss显示为hh:mm:ss。
时间格式只用写一位即可,如"hhmmss"等同于"hms”。
支持的时间格式化字符串:

  • YYYY/yyyy:完整年份。
  • YY/yy:年份后两位。
  • M:月份(若想使用01月则使用MM)。
  • d:日期(若想使用01日则使用dd)。
  • D:年中日(一年中的第几天)。
  • H:24小时制。
  • h:12小时制。
  • m:分钟。
  • s:秒。
  • SSS:毫秒。
    若格式未匹配,则使用默认值。
    默认值: ‘hms’

1.4 事件

除支持通用事件外,还支持以下事件:

onDateChange(event: (value: number) => void)	

在这里插入图片描述

提供时间变化回调,该事件最小回调间隔为秒。

  • value: Unix Time Stamp,即自1970年1月1日(UTC)起经过的毫秒数。

1.5 示例代码

@Entry
@Component
struct Second {
  @State accumulateTime: number = 0
  // 导入对象
  controller: TextClockController = new TextClockController()
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text('Current milliseconds is ' + this.accumulateTime)
        .fontSize(20)
      // 以12小时制显示东八区的系统时间,精确到秒。
      TextClock({ timeZoneOffset: -8, controller: this.controller })
        .format('hms')
        .onDateChange((value: number) => {
          this.accumulateTime = value
        })
        .margin(20)
        .fontSize(30)
      Button("start TextClock")
        .margin({ bottom: 10 })
        .onClick(() => {
          // 启动文本时钟
          this.controller.start()
        })
      Button("stop TextClock")
        .onClick(() => {
          // 停止文本时钟
          this.controller.stop()
        })
    }
    .width('100%')
    .height('100%')
  }
}

在这里插入图片描述

在这里插入图片描述
我们可以通过按钮开启/关闭TextClock。

二、TextPicker

滑动选择文本内容的组件。

说明
该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

2.1 子组件

2.2 接口

TextPicker(options?: {range: string[]|Resource, selected?: number, value?: string})

在这里插入图片描述

参数

range
参数名: range
参数类型: string[] | Resource
参数描述: 选择器的数据选择列表。
根据range指定的选择范围创建文本选择器。
是否必填:是

selected
参数名: selected
参数类型: number
参数描述: 设置默认选中项在数组中的索引值。
默认值: 0
是否必填:否

value
参数名: value
参数类型: string
参数描述: 设置默认选中项的值,优先级低于selected。
默认值: 第一个元素的值
是否必填:否

2.3 属性

除支持通用属性外,还支持以下属性:

属性名称:defaultPickerItemHeight
属性类型:number | string(例如:1/“1”)
设置Picker各选择项的高度。
在这里插入图片描述

2.4 事件

事件
除支持通用事件外,还支持以下事件:

onAccept(callback: (value: string, index: number) => void)

在这里插入图片描述

点击弹窗中的“确定”按钮时触发该回调。

  • value: 当前选中项的文本。
  • index: 当前选中项的索引值。
    说明:
    该事件仅在文本滑动选择器弹窗中生效。

onCancel(callback: () => void)

在这里插入图片描述

点击弹窗中的“取消”按钮时触发该回调。
说明:
该事件仅在文本滑动选择器弹窗中生效。


onChange(callback: (value: string, index: number) => void)

在这里插入图片描述

滑动选中TextPicker文本内容后,触发该回调。

  • value: 当前选中项的文本。
  • index: 当前选中项的索引值。

2.5 示例代码

// xxx.ets
@Entry
@Component
struct TextPickerExample {
  private select: number = 1
  private fruits: string[] = ['apple1', 'orange2', 'peach3', 'grape4']

  build() {
    Column() {
      TextPicker({ range: this.fruits, selected: this.select })
        .onChange((value: string, index: number) => {
          console.info('Picker item changed, value: ' + value + ', index: ' + index)
        })
    }
  }
}

在这里插入图片描述


总结

TextClock组件:通过文本将当前系统时间显示在设备上。支持不同时区的时间显示,最高精度到秒级。
TextPicker组件:滑动选择文本内容的组件。

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

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

相关文章

MySQL实战2

文章目录 主要内容一.回访用户1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例): 二.如何找到每个人每月消费的最大天数1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例&#xff09…

Pandas时间序列、时间戳对象、类型转换、时间序列提取、筛选、重采样、窗口滑动

时间序列数据是指在时间间隔不变的情况下收集的时间点数据,可以用来分析事物的长期发展趋势,并对未来进行预测。 date_range()方法及参数 pandas.date_range(startNone, endNone, periodsNone, freqNone, tzNone, normalizeFalse, nameNone, inclusive‘…

08.K8S高可用方案

K8S高可用方案 1、高可用部署方式 官方提供两种高可用实现方式: 堆叠etcd 拓扑,其中 etcd 节点与控制平面节点共存;外部 etcd 节点,其中 etcd 与控制平面在不同的节点上运行;1.1、堆叠 etcd 拓扑 主要特点: 每个 master 节点上运行一个 apiserver 和 etcd, etcd 只与本…

Spring Security: 整体架构

Filter Spring Security 是基于 Sevlet Filter 实现的。下面是一次 Http 请求从 client 出发,与 Servlet 交互的图: 当客户端发送一个请求到应用,容器会创建一个 FilterChain,FilterChain 中包含多个 Filter 和 Servlet。这些 Fi…

C#,数值计算——分类与推理,基座向量机的 Svmgenkernel的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public abstract class Svmgenkernel { public int m { get; set; } public int kcalls { get; set; } public double[,] ker { get; set; } public double[] y { get; set…

构建第二大脑#知识库使用指南

fortelabs.com/blog/basboverview 《构建第二大脑:入门指南》提到一个步骤: 通过策划和管理您的个人信息流来减轻压力和“信息过载”创建一个内心平静的数字环境充分发挥您周围丰富学习资源的价值,例如在线课程、网络研讨会、书籍、文章、论坛…

threejs(8)-详解光线投射与物体交互

详解光线投射与物体交互 import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; // 导入动画库 import gsap from "gsap"; // 导入dat.gui import * as dat from &qu…

QVHZO-A-06/18、QVHZE-A-06/36比例流量控制阀放大器

QVHZO-A-06/36、QVHZO-A-06/12、QVHZO-A-06/45、QVHZO-A-06/18、QVKZOR-A-10/65、QVKZOR-A-10/90、QVHZE-A-06/36、QVHZE-A-06/12、QVHZE-A-06/45、QVHZE-A-06/18、QVKZE-A-10/65、QVKZE-A-10/90带压力补偿的比例流量控制阀,直动式,不带位置传感器&#…

圆锥面积 题解

圆锥体积 描述 已知一个圆锥体的高 h 和底面积的半径 r ,求该圆锥体的体积,保留3位小数。 圆锥底部圆面积S的计算公式为��∗�∗�Sπ∗r∗r 这里的�3.14159π3.14159 圆锥体的体积V计算公式为…

可以提取图像文本的 5 大 Python 库

主要是了解并掌握文本定位和识别的OCR工具哦~ 光学字符识别是一个古老但依然具有挑战性的问题,涉及从非结构化数据中(包括图像和PDF文档)检测和识别文本。它在银行、电子商务和社交媒体内容管理等领域具有广泛的应用。 但与数据科学中的每个主…

FreeRTOS中osDelay和HAL_Delay的区别

问题场景 在FreeRTOS中创建了线程A、线程B,其中线程A优先级大于线程B。线程A、B任务代码如下: void A(void *argument) {while (1){printf("A\r\n");HAL_Delay(1000);} }void B(void *argument) {while (1){printf("B\r\n");HAL_Delay(1000);} …

基于springboot实现校园疫情防控系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校园疫情防控系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&am…

回溯法(1)--装载问题和0-1背包

一、回溯法 回溯法采用DFS+剪枝的方式,通过剪枝删掉不满足条件的树,提高本身作为穷举搜索的效率。 回溯法一般有子集树和排列树两种方式,下面的装载问题和01背包问题属于子集树的范畴。 解空间类型: 子集树&#xff1…

【C++项目】高并发内存池第七讲性能分析

目录 1.测试代码2.代码介绍3.运行结结果 1.测试代码 #include"ConcurrentAlloc.h" #include"ObjectPool.h" #include"Common.h" void BenchmarkMalloc(size_t ntimes, size_t nworks, size_t rounds) {std::vector<std::thread> vthread(…

超强Redis基础学习 优化 使用 常见问题

问题大纲 为什么Redis可以这么快&#xff1f; 它是纯内存操作&#xff0c;内存本身就很快 其次&#xff0c;它是单线程的&#xff0c;Redis服务器核心是基于非阻塞的IO多路复用机制&#xff0c;单线程避免了多线程的频繁上下文切换问题 Redis的持久化机制 Redis提供了持久化…

会声会影2024输出文件太大什么原因 会声会影输出文件处于保护状态什么原因

会声会影2024是一款专业的视频编辑软件&#xff0c;它由于简单易学的操作被众人所喜爱。在会声会影中编辑好的视频一般以渲染的形式导出保存&#xff0c;但是有时会出现输出文件太大的情况&#xff0c;这到底是什么原因呢&#xff1f;下面由我带大家一起来了解会声会影输出文件…

git本地搭建服务器[Vmware虚拟机访问window的git服务器]

先按照https://zhuanlan.zhihu.com/p/494988089说明下载好Gitblit然后复制到tomcat的webapps目录下,如下: 双击"startup.bat"启动tomcat: 然后访问"http://127.0.0.1:8080/gitblit/"即可看到git的界面: 说明git服务器已经能够成功运行了! Vmware虚拟机…

机器学习(五)如何理解机器学习三要素

1.8如何理解机器学习三要素 统计学习模型策略算法 模型&#xff1a;规律yaxb 策略&#xff1a;什么样的模型是好的模型&#xff1f;损失函数 算法&#xff1a;如何高效找到最优参数&#xff0c;模型中的参数a和b 1.8.1模型 机器学习中&#xff0c;首先要考虑学习什么样的…

5G 3GPP全球频谱介绍

所谓 “频谱”&#xff0c;是指特定类型的无线通信所在的射频范围。不同的无线技术使用不同的频谱&#xff0c;因此互不干扰。由于一项技术的频谱是有限的&#xff0c;因此频谱空间存在大量竞争&#xff0c;并且人们也在不断开发和增强全新的、高效率的频谱使用方式。 介绍5G …

ConcurrentHashMap 的 size()方法是线程安全的吗?为什么

ConcurrentHashMap 的 size()方法是非线程安全的。也就是说&#xff0c;当有线程调用 put 方法在添加元素的时候&#xff0c;其他线程在调用 size()方法获取的元素个数和实际存储元素个数是不一致的。原因是 size()方法是一个非同步方法&#xff0c;put()方法和 size()方法并没…