鴻蒙應用開發-時間屏幕

點擊下載源碼:

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.pswp.cn/diannao/39752.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39752.shtml
英文地址,請注明出處:http://en.pswp.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;而跨池交易…