我想拥有三个单独的矩形,这些矩形将充满渐变。根据值X,梯度将被不同地放置。例如,如果值X = 75,则渐变将是75%的绿色和25%的红色。我想知道是否有任何库或方法可以让我在java(android studio)中执行此操作。
答案 0 :(得分:0)
要实现此目的,可以对渐变使用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();
}
}
还没有测试代码,但是它肯定应该可以像这样工作。