鸿蒙应用开发-时间屏幕

点击下载源码:

https://download.csdn.net/download/liuhaikang/89509449

做一个时间屏幕,可以点击切换白色和黑色,有渐变效果,使用到了鸿蒙的动画效果。

在这个设计中,我们首先引入了通用能力包,以实现功能齐全且界面友好的时间页面。通过引入AppUtilDateUtil工具包,我们可以轻松处理应用程序的布局和时间格式化需求。

import { common } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { AppUtil } from './Utils/AppUtil';
import { DateUtil } from './Utils/DateUtil';

页面设计与交互

这个时间页面设计结构采用了组件化的方式,通过Column()Text()等函数构建出页面的主体结构。同时,页面具有可交互性,用户可以通过点击动作改变字体颜色和背景色的设置。

@Entry
@Component
struct TimePage {// 页面初始化与逻辑控制// ...build() {// 构建页面主体Column() {Text(this.timeText).fontSize(this.bigFontSize).fontColor(this.fontColor).animation({ duration: 2000, curve: Curve.EaseOut, iterations: 1, playMode: PlayMode.Normal });Text(this.dateText).fontSize(this.smallFontSize).fontColor(this.fontColor).animation({ duration: 2000, curve: Curve.Ease, iterations: 1, playMode: PlayMode.Normal });}// 页面交互设计.onClick(() => {// 点击切换颜色if (this.flag) {this.fontColor = TimePage.whiteColor;this.bgColor = TimePage.blackColor;} else {this.fontColor = TimePage.blackColor;this.bgColor = TimePage.whiteColor;}this.flag = !this.flag;})// 设置背景色、动画效果等.backgroundColor(this.bgColor).animation({ duration: 2000, curve: Curve.Ease, iterations: 1, playMode: PlayMode.Normal }).justifyContent(FlexAlign.Center).width('100%').height('100%')}
}

页面优化与用户体验

除了页面设计外,我们还在页面显示时做了一些优化工作,例如设置了横屏显示,同时在页面切换或离开时清除定时器,避免资源浪费。

  onPageShow(): void {AppUtil.setPreferredOrientation(window.Orientation.LANDSCAPE_INVERTED);}aboutToDisappear(): void {clearInterval(this.intervalID);}

通过这个设计,我们不仅实现了优雅的时间页面展示,而且在交互和用户体验方面也有了重要考量。 

 

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

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

相关文章

Kubernetes 离线安装的坑我采了

Kubernetes 离线安装的坑我采了 一、Error from server: Get "https://xx.xx.xx.xx:10250/containerLogs/kube-system/calico-node-8dnvs/calico-node": tls: failed to verify certificate: x509: certificate signed by unknown authority二、calico 或 pod 启动正…

cesium公交车轨迹漫游

个人博客:CSDN 博客-满分观察网友 z 演示地址:哔哩哔哩-满分观察网友 z 这是一个用 Cesium.js 做的公交车轨迹漫游,实现的功能有加载站点和道路轨迹点数据、监听车辆的实时位置、车辆控制器。滚动屏等等。 文章目录 1. 地图初始化2. 数据渲…

【高中数学/基本不等式】已知:x,y均为正实数,且xy+2x+y=4 求:x+y的最小值?

【问题】 已知:x,y均为正实数,且xy2xy4 求:xy的最小值? 【来源】 https://www.ixigua.com/7147585275823292942?logTagf25494de7fce23a3a3d0 【解答】 解: 由xy2xy4 两边加二得 xy2xy24 2 分解因式得 (x1)(…

0090__【Git系列】merge和rebase的区别

【Git系列】merge和rebase的区别_rebase和merge的区别-CSDN博客 git中rebase和merge的区别是什么-git-PHP中文网 https://blog.51cto.com/qzcsbj/9444199

从零搭建教育管理系统:Java + Vue.js 教学-02

第三步:创建实体类和 Mapper 接口 现在我们已经设计好了数据库表,接下来使用 MyBatis-Plus 将这些表映射到 Java 对象,以便在代码中轻松地进行操作。 1. 创建实体类 在 src/main/java/<your_package>/entity 目录下 (如果没有该目录,请手动创建),创建与数据库表对应…

MyBatis(20)MyBatis 事务管理如何实现

MyBatis 的事务管理是通过底层 JDBC 连接的事务管理机制来实现的。事务管理对于任何涉及多个数据库操作的应用程序来说都是至关重要的&#xff0c;它确保数据的一致性和完整性。在 MyBatis 中&#xff0c;事务管理可以通过 SQL 会话&#xff08;SqlSession&#xff09;来实现。…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第53课-语音指令跳舞

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第53课-语音指令跳舞 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎&…

可信计算的完整专用名词列表

可信计算的完整专用名词列表 Trusted Computing - 可信计算Trusted Platform Module (TPM) - 可信平台模块Hardware Root of Trust - 硬件根信任Secure Boot - 安全启动Remote Attestation - 远程证明Integrity Measurement - 完整性度量Measurement Log - 度量日志Attestatio…

Android 图像效果的奥秘

在当今数字化时代&#xff0c;图像已经成为人们生活和工作中不可或缺的一部分。而在 Android 系统中&#xff0c;图像效果的应用更是丰富多彩&#xff0c;为用户带来了更加出色的视觉体验。本文将深入探讨 Android 图像效果的原理、实现方法以及应用场景&#xff0c;帮助读者更…

面试题springboot面试

文章目录 Spring的依赖注入构造器注入stetter注入属性注入 springboot的优势第一开箱即用约定大于配置内嵌tomcat服务器 javaweb的三大组件springboot的自动配置原理SpringIoc的实现机制springmvcspring如何简化开发 Spring的依赖注入 构造器注入 stetter注入 属性注入 使用…

按位异或^

在 Python 中&#xff0c;a ^ b 表示按位异或运算符。按位异或运算符对整数的每一位进行运算&#xff0c;如果对应位上的两个二进制数字不同&#xff0c;则结果为 1&#xff0c;否则为 0。 示例 a 5 # 二进制: 0101 b 3 # 二进制: 0011result a ^ b print(result) # 输…

私域流量:塑造企业数字营销的未来

在当今数字化的时代&#xff0c;流量成为了商业世界中的新货币&#xff0c;而“私域流量”更是其中的黄金。但“私域流量”究竟是什么&#xff1f;它如何成为企业数字化转型和营销策略中不可或缺的一部分&#xff1f;本文将探讨私域流量的概念&#xff0c;并通过案例分析其运营…

前端进阶:Vue.js

目录 框架&#xff1a; 助解&#xff1a; 框架&#xff1a; VUE 什么是Vue.js? Vue.js优点 Vue安装 方式一&#xff1a;直接用<script>引入 方式二&#xff1a;命令行工具 第一个Vue程序 代码 代码解释&#xff1a; 运行 Vue指令 v-text v-html v-tex…

Mysql和ES使用汇总

一、mysql和ES在业务上的配合使用 一般使用时使用ES 中存储全文检索的关键字与获取的商品详情的id&#xff0c;通过ES查询获取查询商品的列表中展示的数据&#xff0c;通过展示id 操作去获取展示商品的所有信息。mysql根据id去查询数据库数据是很快的&#xff1b; 为什么ES一般…

JavaScript如何声明json对象

在JavaScript中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;对象实际上是以JavaScript对象的形式表示的。JSON是一种轻量级的数据交换格式&#xff0c;它基于ECMAScript&#xff08;欧洲计算机协会制定的js规范&#xff09;的一个子集&#xff0c;采用…

10 - Python文件编程和异常

文件和异常 在实际开发中&#xff0c;常常需要对程序中的数据进行持久化操作&#xff0c;而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词&#xff0c;可能需要先科普一下关于文件系统的知识&#xff0c;对于这个概念&#xff0c;维基百科上给出…

【CSharp】在class中申明public const int常量的应用

【CSharp】在class中申明public const int常量的应用 1.背景2.代码3.运行1.背景 常量本身是静态的,即常量属于class本身与其实例化对象无关,且常量不可更改。 以上两种特性在许多应用场景中都有其优势和应用场合。 1.在定义定义固定值的场景,例如状态码、事件类型、配置参…

亚马逊云科技AWS免费大热AI应用开发证书(含题库、开卷)

亚马逊云科技AWS官方生成式AI免费证书来了&#xff01;内含免费AI基础课程&#xff01;快速掌握AWS的前沿AI技术&#xff0c;后端开发程序员也可以速成AI专家&#xff0c;了解当下最&#x1f525;的AWS AI架构解决方案&#xff01; 本证书内容包括AWS上的AI基础知识&#xff0c…

解析Kotlin中的Unit【笔记摘要】

1. Kotlin的Unit 和 Java的void 的区别 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的区别在于&#xff0c;void 是真的表示什么都不返回&#xff0c…

剖析DeFi交易产品之UniswapV4:Swap

文章首发于公众号&#xff1a;Keegan小钢 Swap 可分为两种场景&#xff1a;单池交易和跨池交易。在 PoolManager 合约里&#xff0c;要完成交易流程&#xff0c;会涉及到 lock()、swap()、settle()、take() 四个函数。单池交易时只需要调一次 swap() 函数&#xff0c;而跨池交易…