按钮颜色渐变和阴影效果 原创
基于openharmony v5.0.0 Release 应用开发导读
一、色彩
通过颜色渐变接口,可以设置组件的背景颜色渐变效果,实现在两个或多个指定的颜色之间进行平稳的过渡。
接口 | 说明 |
---|---|
linearGradient | 为当前组件添加线性渐变的颜色渐变效果。 |
sweepGradient | 为当前组件添加角度渐变的颜色渐变效果。 |
radialGradient | 为当前组件添加径向渐变的颜色渐变效果。 |
1. 线性颜色渐变
它是通过沿着一条直线方向,让颜色从起始颜色平稳地过渡到结束颜色,从而为组件营造出线性的颜色渐变效果,这种渐变方式在很多需要营造整齐、有序的色彩过渡场景中较为常用,比如水平或垂直方向的色彩渐变背景等。
名称 | 类型 | 说明 |
---|---|---|
angle | number | string | 线性渐变的起始角度。0点方向顺时针旋转为正向角度。默认值:180。角度为字符串时仅支持类型deg,grad,rad,trun。 |
direction | GradientDirection | 线性渐变的方向,设置angle后不生效。默认值:GradientDirection.Bottom |
colors | Array<[ResourceColor, number]> | 指定某百分比位置处的渐变色颜色,设置非法颜色直接跳过。 |
repeating | boolean | 为渐变的颜色重复着色。默认值:false |
linearGradient线性竖直颜色渐变(默认)
线性水平颜色渐变
2. 角度渐变
此方式是以一个中心点为基准,按照一定的角度范围,使颜色围绕该点进行圆周式的渐变过渡,能够创造出如同扇形展开般的色彩变化效果,常用于一些需要营造出旋转、环绕色彩氛围的组件装饰上。
sweepGradient角度渐变,仅绘制0-360度范围内的角度,超出时不绘制渐变色,只绘制纯色。
名称 | 类型 | 说明 |
---|---|---|
center | [Length, Length] | 为角度渐变的中心点,即相对于当前组件左上角的坐标。 |
start | number | string | 角度渐变的起点。 默认值:0。角度为字符串时仅支持类型deg,grad,rad,trun。 |
end | number | string | 角度渐变的终点。 默认值:0。角度为字符串时仅支持类型deg,grad,rad,trun。 |
rotation | number | string | 角度渐变的旋转角度。 默认值:0。角度为字符串时仅支持类型deg,grad,rad,trun。 |
colors | Array<[ResourceColor, number]> | 指定某百分比位置处的渐变色颜色,设置非法颜色直接跳过。 |
repeating | boolean | 为渐变的颜色重复着色。默认值:false |
3. 径向渐变效果
是从一个中心点开始,颜色向四周呈放射状进行平稳过渡,就好像光芒从中心向外发散一样,适合用于模拟发光、扩散等视觉效果的场景,可让组件呈现出富有立体感和层次感的色彩渐变效果。
名称 | 类型 | 描述 |
---|---|---|
center | [Length, Length] | 径向渐变的中心点,即相对于当前组件左上角的坐标 |
radius | number | string | 径向渐变的半径。 取值范围:[0,+∞)。**说明:**设置为小于的0值时,按值为0处理。 |
colors | Array<[ResourceColor, number]> | 指定某百分比位置处的渐变色颜色,设置非法颜色直接跳过。 |
repeating | boolean | 为渐变的颜色重复着色。默认值:false |
二、阴影
阴影接口shadow可以为当前组件添加阴影效果,该接口支持两种类型参数,开发者可配置ShadowOptions自定义阴影效果。ShadowOptions模式下,当radius = 0 或者 color 的透明度为0时,无阴影效果。
参数:ShadowOptions 或者 ShadowStyle
ShadowStyle枚举
ShadowOptions对象
radius
属性代表着阴影的模糊半径,决定了阴影边缘模糊的程度,数值越大,阴影看起来就越模糊柔和;
color
属性确定了阴影呈现的颜色;
offsetX
属性值为 20,意味着阴影在 X 轴方向上会有 20 个单位的偏移,控制着阴影水平方向的位置变化;
offsetY
属性值同样是 20,表明阴影在 Y 轴方向也会产生 20 个单位的偏移,二者共同作用确定了阴影相对元素主体在平面上的具体位置,通过这些参数的设置,就能打造出符合需求的阴影视觉效果。
写的这么好,学到了学到了
这就是大佬吗。膜拜
我的天哪,写的太棒了
真的写的太好了!看得我泪流满面!
真的写的太好了!看得我泪流满面!受我一拜