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

我想要三个独立的矩形来填充渐变。根据 X 值,渐变的位置会有所不同。例如,如果值 X = 75,则渐变将是 75% 的绿色和 25% 的红色。我想知道是否有任何库或方法可以让我在 java (android studio) 中执行此操作。



回首忆惘然
浏览 125回答 1
1回答

一只萌萌小番薯

要实现这一点,您可以使用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();    } }尚未测试代码,但它肯定应该像这样工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java