Android 渐变

浏览:40日期:2022-12-06

问题描述

1.android 中的gradient最多只支持三种颜色的渐变,我想支持10颜色的渐变有没有其他的方法

问题解答

回答1:

研究了一下自定义了一个

/** * Created by xg on 2016/8/4. * 自定义渐变view */public class DrawView extends View { private LinearGradient linearGradient = null; private Paint paint = null; public DrawView(Context context) {super(context); } public DrawView(Context context, AttributeSet attrs) {super(context, attrs); } public DrawView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) {super.onDraw(canvas);linearGradient = new LinearGradient(0, 0, getWidth() - getPaddingRight(), 0,new int[]{Color.YELLOW, Color.GREEN, Color.TRANSPARENT, Color.WHITE}, null,Shader.TileMode.REPEAT);paint = new Paint();//设置渲染器paint.setShader(linearGradient);//绘制圆环RectF rect = new RectF(0, 0, getWidth() - getPaddingRight(), getHeight() - getPaddingBottom());canvas.drawRect(rect, paint); }}

相关文章: