【HarmonyOS 专题】05 简单了解 ShapeElement 背景设置 原创 精华
春节不停更,此文正在参加「星光计划-春节更帖活动」
和尚刚学习了 HarmonyOS 中 Button 的不同样式,其中背景效果主要是通过 shape 文件进行修改,对于渐变色等效果是通过 Java 的 ShapeElement 方式进行修改,和尚今天详细学习一下 ShapeElement 背景设置;
ShapeElement
与 Android 类似,HarmonyOS 同样可以使用 xml 和 Java 两种方式对组件样式进行绘制;
1. 引入 shape.xml 方式
和尚查看 ShapeElement 源码,有无参构造函数和两个参数的构造函数;带有参数的构造方法可以直接引入 shape.xml 文件,第一个参数是上下文环境,第二个参数是引入对应的 shape.xml 文件;
2. set/getShape 设置/获取样式
和尚查看源码,可以通过 set/getShape 方式设置和获取样式,包括:RECTANGLE 矩形、OVAL 圆形、PATH 路径、ARC 弧形、LINE 线形;
3. set/getRgbColor & set/getRgbColors 设置/获取颜色
ShapeElement 可以通过 setRgbColor 和 setRgbColors 两种方式设置背景色,setRgbColor 为设置单色,setRgbColors 用于添加颜色数组,设置渐变色;
4. setStroke 设置边框
可以通过 setStroke 设置边框样式,参数分别对应边框宽度和颜色;
5. set/getCornerRadius & setCornerRadiiArray 设置圆角
ShapeElement 提供了两种设置圆角的方式,分别为 setCornerRadius 设置四角相同的圆角和 setCornerRadiiArray 分别设置四个圆角方式;其中 setCornerRadiiArray 需要设置 8 个 float 元素,角度分别从左上角顺时针分布;
6. set/getGradientOrientation 设置/获取渐变色方向
对于渐变色的渐变方向,可以通过 setGradientOrientation 方式设置,可以按需求设置水平方向,或对角线方向等;
和尚对 ShapeElement 的方式还不够熟悉,还有几个方法需要深入研究;如有错误,请多多指导!
来源:阿策小和尚
总结得不错,直观、全面!如果把xml的方式也列举一下就更完美了。