为了账号安全,请及时绑定邮箱和手机立即绑定

根据值绘制填充渐变的矩形

根据值绘制填充渐变的矩形

回首忆惘然 2022-06-15 16:59:33
我想要三个独立的矩形来填充渐变。根据 X 值,渐变的位置会有所不同。例如,如果值 X = 75,则渐变将是 75% 的绿色和 25% 的红色。我想知道是否有任何库或方法可以让我在 java (android studio) 中执行此操作。
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

要实现这一点,您可以使用LinearGradient作为渐变,然后使用允许您更改渐变布局的方法创建自定义视图。


public class GradientView extends View {


     Paint paint;

     LinearGradient gradient;

     int[] colors = [Color.RED, Color.GREEN];


     public GradientView(Context context, int gradientHeight) {

          super(context);

          paint = new Paint();

          setGradientHeight(gradientHeight);

     }


     @Override

     protected void onDraw(Canvas canvas) {

        // TODO Auto-generated method stub

        super.onDraw(canvas);

        paint.setShader(colorGradient);

        canvas.drawPaint(paint);

    }


    public void setGradientHeight(int height){

        colorGradient = new LinearGradient(0, 0, 0, height * 0.01 * super.getHeight(), colors, null, Shader.TileMode.MIRROR);

        paint.setShader(colorGradient);

        invalidate();

    }

 }

尚未测试代码,但它肯定应该像这样工作。


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信