Android 渐变

查看:87
本文介绍了Android 渐变的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

研究了一下自定义了一个

/**
 * 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);
    }
}

这篇关于Android 渐变的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆