【中秋国庆不断更】OpenHarmony 多态样式 stateStyles 使用场景
@Styles 和 @Extend 仅仅应用于静态页面的样式复用,stateStyles 可以依据组件的内部状态的不同,快速设置不同样式。这就是我们本章要介绍的内容 stateStyles(又称为:多态样式)。
概述
stateStyles 是属性方法,可以根据 UI 内部状态来设置样式,类似于 css 伪类,但语法不同。ArkUI 提供以下四种状态:
● focused:获焦态。
● normal:正常态。
● pressed:按压态。
● disabled:不可用态。
● selected10+:选中态。
使用场景
基础场景
下面的示例展示了 stateStyles 最基本的使用场景。Button 处于第一个组件,默认获焦,生效 focused 指定的粉色样式。按压时显示为 pressed 态指定的黑色。如果在 Button 前再放一个组件,使其不处于获焦态,就会生效 normal 态的黄色。
复制代码
图 1 获焦态和按压态
@Styles 和 stateStyles 联合使用
以下示例通过 @Styles 指定 stateStyles 的不同状态。
复制代码
图 2 正常态和按压态
在 stateStyles 里使用常规变量和状态变量
stateStyles 可以通过 this 绑定组件内的常规变量和状态变量。
复制代码
Button 默认获焦显示红色,点击事件触发后,获焦态变为粉色。
图 3 点击改变获焦态样式
版权声明: 本文为 InfoQ 作者【OpenHarmony开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/b159fd2a2b60f196fbe5985e0】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论