HarmonyOS 鸿蒙应用开发 - 多态样式 stateStyles

  前言:@Styles和@Extend仅仅应用于静态页面的样式复用,stateStyles可以依据组件的内部状态的不同,快速设置不同样式,类似于css伪类,但语法不同。

ArkUI提供以下四种状态:

  • focused:获焦态。
  • normal:正常态。
  • pressed:按压态。
  • disabled:不可用态。

1、基础使用示例

  
//1、基础使用示例Button('1多态样式实例').margin(20).stateStyles({normal: { //正常情况.backgroundColor(Color.Red)},focused: {//焦点.backgroundColor(Color.Green)},pressed: {//点击时.backgroundColor(Color.Black)}}).focusable(false)Button('1按钮被禁用').enabled(false).stateStyles({disabled:{.backgroundColor(Color.Gray)}})

2、联合使用示例

struct StateStylesSample {//2 通用样式@Styles normalStyle() {.backgroundColor(Color.Orange)}//2 通用样式@Styles pressedStyle() {.backgroundColor(Color.Red)}build() {Column() {
  //2、联合使用示例Text('2Styles和stateStyles联合使用示例').fontSize(20).margin({top:10}).fontColor(Color.White).stateStyles({normal: this.normalStyle,pressed: this.pressedStyle,})

3、在stateStyles里使用常规变量和状态变量

struct StateStylesSample {//3 stateStyles里使用常规变量和状态变量@State pressedColor: Color = Color.Red;normalColor: Color = Color.Greenbuild() {
 //3、在stateStyles里使用常规变量和状态变量Button('3在stateStyles里使用常规变量和状态变量')//.height(100).width(350).fontSize(16).stateStyles({normal: {.backgroundColor(this.normalColor)},pressed:{.backgroundColor(this.pressedColor)}}).margin('20')

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

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

相关文章

就业班 第三阶段(ELK) 2401--5.20 day1 ELK 企业实战 ES+head+kibana+logstash部署(最大集群)

ELKkafkafilebeat企业内部日志分析系统 1、组件介绍 1、Elasticsearch: 是一个基于Lucene的搜索服务器。提供搜集、分析、存储数据三大功能。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的&#xff…

Git 仓库中 -- 代码冲突产生、定位、解决的流程

目录 前置知识1 工具环境2 冲突的产生2.1 仓库中的源代码2.2 人员 A 首先更改代码2.3 人员 B 更改代码,产生冲突2.3.1 第一次错误提示:2.3.2 第二次错误提示: 3 查看冲突4 手动解决冲突4.1 方式一4.2 方式二(tortoisegit&#xff…

【Linux网络】端口及UDP协议

文章目录 1.再看四层2.端口号2.1引入linux端口号和进程pid的区别端口号是如何生成的传输层有了pid还设置端口号端口号划分 2.2问题2.3netstat 3.UDP协议3.0每学一个协议 都要讨论一下问题3.1UDP协议3.2谈udp/tcp实际上是在讨论什么? 1.再看四层 2.端口号 端口号(Po…

基于Android studio 使用SQLite数据库完成登录注册功能——保姆级教程

🍅文章末尾有获取完整项目源码方式🍅 点击快捷传送地址: 保姆级教学——制作登陆注册功能页面 目录 一、准备工作 二、创建相关文件 三、页面布局 四、DabaHelper帮助类的编写 五、RegisterActivity注册页面 六、LoginActivity登录页面…

代码随想录算法训练营第三十七天|435. 无重叠区间、763.划分字母区间、56. 合并区间、738.单调递增的数字、968.监控二叉树

435. 无重叠区间 文档讲解:代码随想录 题目链接:. - 力扣(LeetCode) 本道题与上个题目相似,都是求重叠区间 统计重叠区间的个数,减去重叠区间的个数就是无重叠区间了 主要就是为了让区间尽可能的重叠。&a…

微信小程序源码-基于Java后端的会议发布与预约系统毕业设计(附源码+演示录像+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设…

Java的结构与运行机制

1. JDK JRE JVM三者的区别 JDK(Java Development Kit):Java开发工具包 JDK包含JRE,还包括其他例如:编译器(javac)、javadoc、jar等,JDK是能够创建和编译程序的。 JRE(Java runtime environment):Java运行环境 JRE是运…

手把手一起学习Python NumPy

NumPy 是用于处理数组的 python 库,NumPy 中的数组对象称为 ndarray,它提供了许多支持函数,使得利用 ndarray 非常容易。Numpy官方网址 NumPy 安装 使用pip安装NumPy 模块: pip install numpyNumPy 入门 创建numpy数组&#x…

基于Python的k-means聚类分析算法的实现与应用,可以用在电商评论、招聘信息等各个领域的文本聚类及指标聚类,效果很好

以微博考研话题为例 思路步骤: 数据清洗: 使用pandas读取数据文件,并进行数据清洗和预处理,包括去除重复值、数据替换等。 数据处理实现: 数据处理的过程如下: 数据清洗主要包括去重和数据转换两个步骤…

Magisk + JustTrustMe 安装配置

操作步骤: 安装 Magisk 面具(手机root)在面具中刷入 LSPosed框架安装 JustTrustMe在LSPosed框架中配置并启动 JustTrustMe 一,Magisk面具 请根据自己手机的机型去root并安装面具,参考链接: https://www…

QAnything 1.4.1 中的文档解析

2024年初我们开源了QAnything,一个基于检索增强生成式应用(RAG)的本地知识库问答系统。对于本地知识库,QAnything支持多种格式的文档输入,允许用户上传包括PDF、图片、Word、PowerPoint、Excel、TXT,甚至音…

ISCC 2024|Misc

FunZip ISCC{xoMjL8NuYRRb} Number_is_the_key ISCC{Sanoyq6qGIPF} 精装四合一 四张图片尾部都存在多余数据,把多余数据分别提取出来保存成文件,未发现规律。根据提示,预计需要将四部分多余数据进行合并。提取四个部分前16个字节&#xff0…

Linux学习(十二)-- 用户管理与用户组管理、su与exit命令、sudo命令

目录 1. 用户管理 注: 以下命令需root用户执行 1.1 创建用户 1.2 删除用户 1.3 查看用户所属组 1.4 修改用户所属组 2.用户组管理 注: 以下命令需root用户执行 2.1 创建用户组 2.2 删除用户组 拓展: 3. su命令与exit命令 4. sudo…

Python高效数据分析的综合复习指南【时间处理与机器学习】

五、时间处理 一、时间戳-----Timestamp类型 方法1:使用Timestamp创建 pandas.Timestamp(ts_input, freqNone, tzNone, unitNone, yearNone, monthNone, dayNone, hourNone, minuteNone, secondNone, microsecondNone, tzinfoNone, offsetNone) import pandas a…

26计算机操作系统408考研-操作系统进程与线程篇章(三)

操作系统进程与线程篇章 ` 文章目录 操作系统进程与线程篇章前言一、进程概念进程控制块进程创建进程终止进程的阻塞和唤醒进程唤醒进程挂起和激活线程多线程线程实现与线程模型总结互斥和同步并发原理硬件同步信号量机制信号量的应用管程经典同步问题消息传递前言 一、进程概…

碌时刻必备!微信自动回复让你告别消息堆积

在忙碌的时候,我们往往会面临消息堆积如山的情况。无法及时回复消息不仅容易造成交流障碍,还可能错过重要的机会。 但是现在,有一个神奇的工具——个微管理系统,可以帮助我们轻松应对这个问题 ,实现微信自动回复。 首…

Mujava 工具的简单使用

首先下载openjava.jar和mujava.jar,以及自己手写一个mujava.config指向存放mujava的目录,并将这些文件放在mujava目录下。此时,基本的mujava环境就搭建好了。 分别创建src(存放源码文件)、classes(存放源码…

每日一题 求和

1.题目解析 求和_牛客题霸_牛客网 (nowcoder.com) 这一题,主要描述的就是求满足和为m的子序列,对与子序列的问题可以使用决策树。 2.思路分析 决策树如下图所示: 递归结束条件: 当当前和 sum 等于目标和 m 时,说明找到了一个满…

如何在华为手机上恢复已删除的视频[4种解决方案]

概括 在数字媒体时代,智能手机已成为我们的个人金库,存储以视频形式捕捉的珍贵记忆。然而,意外删除这些珍贵的文件可能会是一次令人心痛的经历。对于华为手机用户来说,由于删除或其他意外导致视频丢失尤其令人痛苦。但不用担心&a…

Python 拼图游戏

拼图游戏(puzzle)是一种常见的益智游戏,玩家通过拖动图块来正确拼接成完整的图片。 由一张原图,分割成图块,拼图块的大小将会根据行列数自动调整,然后随机打乱,玩家通过拖拽图块,最后复原原图。 &#x1f…