这是一个项目的中调用的一个文件,该文件几个矩阵的表现效果为底部导航栏颜色、边框颜色、颜色范围的变化,我搞不清楚矩阵这具体是怎么设置的,谢谢大家解答问题
package com.tdtxdcxm.telmanagesys.configcolor;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.render.ColorMatrix;
public class BottomBarColor {
public static void setBottomBarColor(DirectionalLayout ddl3,int i){
switch (i){
case 0:
ddl3.setBackground(BottomBarColor.defaultShapeElement());
break;
case 1:
ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.lightcolor));
break;
case 2:
ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
break;
default:
break;
}
}
public static ShapeElement defaultShapeElement(){
// 创建一个形状元素
ShapeElement shapeElement = new ShapeElement();
// 创建一个 RGB 颜色对象
RgbColor rgbColor = new RgbColor();
// 设置 RGB 颜色的红色通道为 255
rgbColor.setRed(255);
// 设置 RGB 颜色的绿色通道为 255
rgbColor.setGreen(255);
// 设置 RGB 颜色的蓝色通道为 255
rgbColor.setBlue(255);
// 设置 RGB 颜色的 alpha 通道为 28,使其半透明
rgbColor.setAlpha(28);
// 将 RGB 颜色设置为形状元素的填充颜色
shapeElement.setRgbColor(rgbColor);
// 设置 RGB 颜色的红色通道为 139
rgbColor.setRed(139);
// 设置 RGB 颜色的绿色通道为 69
rgbColor.setGreen(69);
// 设置 RGB 颜色的蓝色通道为 19
rgbColor.setBlue(19);
// 设置 RGB 颜色的 alpha 通道为 100,使其不透明
rgbColor.setAlpha(100);
// 设置形状元素的边框,边框宽度为 9,颜色为上面设置的 RGB 颜色
shapeElement.setStroke(9, rgbColor);
// 设置形状元素的圆角半径为 50
shapeElement.setCornerRadius(50);
// 返回设置好的形状元素
return shapeElement;
}
//CornflowerBlue 矢车菊的蓝色 #6495ED 100,149,237,1有褐色边框,
public static final float[] onclickfloats = {
0,0,0,0,100,
0,0,0,0,149,
0,0,0,0,237,
0,0,0,0,80};
public static final float[] lightcolor = {
0, 0, 0, 0,35,
0, 0, 0, 0,255,
0, 0, 0,0, 255,//灰黄色1,2的按钮底色,4的全背景色255,235,200
0, 0, 0,0, 100,
};
public static final float[] simplecolor = {
0, 0, 0, 0, 0,
0, 0, 0, 0, 255,
0, 0, 0, 0, 255,//红色#FF0200 255,2,0)244,247,131
0, 0, 0, 0, 28
};
private BottomBarColor(){}
}