鸿蒙HarmonyOS实战-Stage模型(开发卡片页面)

news/2025/1/11 16:46:17/文章来源:https://www.cnblogs.com/shudaoshan/p/18199846

🚀一、开发卡片页面

HarmonyOS元服务卡片页面(Metaservice Card Page)是指在HarmonyOS系统中,用于展示元服务的页面界面。元服务是指一组提供特定功能或服务的组件,例如天气服务、音乐播放服务等。元服务卡片页面可以显示元服务的相关信息和操作选项,用户可以通过点击卡片页面上的按钮或交互元素来使用相关的元服务功能。元服务卡片页面提供了一种快速访问和使用元服务的方式,方便用户进行各种操作和任务。

🔎1.卡片页面能力说明

支持在卡片中使用的ArkTS能力:

image
image
image

🔎2.卡片使用动效能力

image

@Entry
@Component
struct AttrAnimationExample {@State rotateAngle: number = 0;build() {Column() {Button('change rotate angle').onClick(() => {this.rotateAngle = 90;}).margin(50).rotate({ angle: this.rotateAngle }).animation({curve: Curve.EaseOut,playMode: PlayMode.AlternateReverse})}.width('100%').margin({ top: 20 })}
}

image

🔎3.卡片使用自定义绘制能力

@Entry
@Component
struct Card {private canvasWidth: number = 0;private canvasHeight: number = 0;// 初始化CanvasRenderingContext2D和RenderingContextSettingsprivate settings: RenderingContextSettings = new RenderingContextSettings(true);private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);build() {Column() {Row() {Canvas(this.context).margin('5%').width('90%').height('90%').onReady(() => {console.info('[ArkTSCard] onReady for canvas draw content');// 在onReady回调中获取画布的实际宽和高this.canvasWidth = this.context.width;this.canvasHeight = this.context.height;// 绘制画布的背景this.context.fillStyle = 'rgba(203, 154, 126, 1.00)';this.context.fillRect(0, 0, this.canvasWidth, this.canvasHeight);// 在画布的中心绘制一个红色的圆this.context.beginPath();let radius = this.context.width / 3let circleX = this.context.width / 2let circleY = this.context.height / 2this.context.moveTo(circleX - radius, circleY);this.context.arc(circleX, circleY, radius, 2 * Math.PI, 0, true);this.context.closePath();this.context.fillStyle = 'red';this.context.fill();// 绘制笑脸的左眼let leftR = radius / 4let leftX = circleX - (radius / 2)let leftY = circleY - (radius / 3.5)this.context.beginPath();this.context.arc(leftX, leftY, leftR, 0, Math.PI, true);this.context.strokeStyle = '#ffff00'this.context.lineWidth = 10this.context.stroke()// 绘制笑脸的右眼let rightR = radius / 4let rightX = circleX + (radius / 2)let rightY = circleY - (radius / 3.5)this.context.beginPath();this.context.arc(rightX, rightY, rightR, 0, Math.PI, true);this.context.strokeStyle = '#ffff00'this.context.lineWidth = 10this.context.stroke()// 绘制笑脸的嘴巴let mouthR = radius / 2.5let mouthX = circleXlet mouthY = circleY + (radius / 3)this.context.beginPath();this.context.arc(mouthX, mouthY, mouthR, Math.PI, 0, true);this.context.strokeStyle = '#ffff00'this.context.lineWidth = 10this.context.stroke()})}}.height('100%').width('100%')}
}

image

🚀写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY

image

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

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

相关文章

连接池设计与实现一——以Golang Http1.1为例

0. 前言 连接池是一个非常重要的开发思想,如http client会构建连接池复用底层TCP连接,使用database/sql的使用也会有连接池的配置。那么代码底层是如何实现连接池的呢?这篇文档将以Golang语言为基础,分析http1.1连接池底层实现 ★ 注意:我们仅仅关注连接池设计思想、以及关…

Spring 面向切面编程AOP 详细讲解

1. Spring 面向切面编程AOP 详细讲解 @目录1. Spring 面向切面编程AOP 详细讲解每博一文案2. AOP介绍说明2.1 AOP的七大术语2.2 AOP 当中的 切点表达式3. 使用Spring 对 AOP 的实现使用3.1 准备工作3.2 Spring 基于AspectJ的AOP注解式开发3.2.1 实现步骤3.2.2 各个通知类型的说…

vulnhub - NYX: 1

标准攻击链vulnhub - NYX: 1 描述 这是一个简单的盒子,非常基本的东西。 它是基于vmware的,我不知道它是否可以在VB上运行,如果你愿意的话可以测试一下。 /home/$user/user.txt 和 /root/root.txt 下有 2 个标志。 信息收集 NYX靶ip:192.168.157.159 nmap -sT -sV -sC -O -p…

Vue3学习之项目工程初步了解

1.介绍项目工程,如在vscode中下图

因更懂你而更热爱,智慧PC助力当代每一位“霞客”行

“大丈夫当朝碧海而暮苍梧”,从小就立志游历天下的徐霞客,自公元1613年5月19日这天开始了一生的披荆斩棘。三十年时间素履而往,所有足迹凝练出了一本《徐霞客游记》,在地理学、地质学、文学、历史学中都占有重要一席。因热爱而出发,如果他生在当下,一定是中国最大的旅游博…

Pyqt6PySide6 事件与事件的处理函数

什么是事件? 事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。 事件的类型与处理函数 事件的概念…

C语言编程题练习 (从初识到入门再到进阶)修正版

C语言编程题练习 📔(从初识到入门再到进阶) 小飞机 🛬#include<stdio.h>int main() {printf(" ** \n");printf(" ** \n");printf("***************\n");printf("***************\n");printf("…

生物医学顶刊论文(JBHI-2024):TransFOL:药物相互作用中复杂关系推理的逻辑查询模型

(2024.5.17)JBHI-TransFOL:药物相互作用中复杂关系推理的逻辑查询模型 论文题目:TransFOL: A Logical Query Model for Complex Relational Reasoning in Drug-Drug Interaction 论文期刊:Journal of Biomedical and Health Informatics (JBHI) 论文地址:https://ieeexplor…

2024-05-18:用go语言,给定一个从 0 开始的字符串 s,以及两个子字符串 a 和 b,还有一个整数 k。 定义一个“美丽下标”,当满足以下条件时: 1.找到字符串 a 在字符串 s 中的位

2024-05-18:用go语言,给定一个从 0 开始的字符串 s,以及两个子字符串 a 和 b,还有一个整数 k。 定义一个“美丽下标”,当满足以下条件时: 1.找到字符串 a 在字符串 s 中的位置,且该位置范围为 0 <= i <= s.length - a.length。 2.找到字符串 b 在字符串 s 中的位置…

Windows 环境多服务文件同步

多服务器文件同步的目标是将 SSCMS 系统生成的站点文件以及图片、附件等站点资源文件同步至独立服务器并对外提供访问,以避免直接将 SSCMS 系统暴露在外网。 我们推荐使用免费开源的 rsync 软件进行跨服务器文件同步,除了 rsync 软件之外,您也可以使用其他第三方软件进行文件…

【Python】强化学习SARSA走迷宫

之前有实现Q-Learning走迷宫,本篇实现SARSA走迷宫。 Q-Learning是一种off-policy算法,当前步采取的决策action不直接作用于环境生成下一次state,而是选择最优的奖励来更新Q表。 更新公式:SARSA是一种on-policy算法,当前步采取的策略action既直接作用于环境生成新的state,…

编译mmdetection3d时,无root权限下为虚拟环境单独创建CUDA版本

在跑一些深度学习代码的时候,如果需要使用mmdetection3d框架,下载的pytorch的cudatoolkit最好需要和本机的cuda版本是一样的,即输入nvcc -V命令后显示的版本一样。 但是如果是在学校里,一般是服务器管理员装的cuda驱动是啥版本,cudatoolkit就是啥版本,且非root用户改变不…