问题描述
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); }}

