【Android】Drawable设置Gradient各个颜色比重

Android中Drawable设置Gradient各个颜色比重

要设置 Android Drawable 的渐变(Gradient)并指定各个颜色的比重,您可以使用 GradientDrawable 类并为其设置 GradientDrawable.Orientation 和颜色数组。

以下是一个示例代码,展示如何设置渐变并指定各个颜色的比重:

// 定义渐变的方向
GradientDrawable.Orientation orientation = GradientDrawable.Orientation.LEFT_RIGHT;

// 定义渐变的颜色数组,每个颜色都可以指定比重
int[] colors = {
    
    Color.RED, Color.GREEN, Color.BLUE};
float[] colorPositions = {
    
    0.3f, 0.6f, 1.0f}; // 每个颜色的比重,取值范围为 0.0f 到 1.0f

// 创建 GradientDrawable 对象
GradientDrawable gradientDrawable = new GradientDrawable(orientation, colors);

// 设置渐变的颜色比重
gradientDrawable.setColors(colors);
gradientDrawable.setPositions(colorPositions);

// 应用 GradientDrawable 到一个 View 或者使用它作为 Drawable
view.setBackground(gradientDrawable);

在上述代码中,我们首先定义了渐变的方向(GradientDrawable.Orientation),这里使用了 LEFT_RIGHT 表示从左到右的渐变。

然后,我们定义了渐变的颜色数组(colors)和每个颜色的比重数组(colorPositions)。在示例中,我们使用了红色、绿色和蓝色作为颜色数组,同时指定了每个颜色的比重为 0.3f、0.6f 和 1.0f。

接下来,我们创建了一个 GradientDrawable 对象,并通过构造函数传入渐变的方向和颜色数组。然后,使用 setColors 方法设置渐变的颜色数组,使用 setPositions 方法设置颜色的比重数组。

最后,将 GradientDrawable 应用到一个 View 上,或者将其作为 Drawable 使用。

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/134191052