自定义Imageview

来源:互联网 发布:java 服务端mqtt推送 编辑:程序博客网 时间:2024/05/02 02:50

这里写图片描述
这里写图片描述

ublic class VennColorsActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        class VennView extends View {            public VennView(Context context) {                super(context);            }            @Override            protected void onDraw(Canvas canvas) {                super.onDraw(canvas);                int alpha = 60, val = 255;                int ar = Color.argb(alpha, val, 0, 0);                int ag = Color.argb(alpha, 0, val, 0);                int ab = Color.argb(alpha, 0, 0, val);                float w = canvas.getWidth();                float h = canvas.getHeight();                float cx = w / 2f;                float cy = h / 2;                float r = w / 5;                float tx = (float) (r * Math.cos(30 * Math.PI / 180));                float ty = (float) (r * Math.sin(30 * Math.PI / 180));                float expand = 1.5f;                Paint paint = new Paint();                paint.setColor(Color.WHITE);                canvas.drawRect(new Rect(0, 0, (int) w, (int) (h / 2)), paint);                PorterDuff.Mode mode = android.graphics.PorterDuff.Mode.ADD;                paint = new Paint(Paint.ANTI_ALIAS_FLAG);                paint.setColorFilter(new PorterDuffColorFilter(ar, mode));                paint.setColor(ar);                canvas.drawCircle(cx, cy - r, expand * r, paint);                paint.setColorFilter(new PorterDuffColorFilter(ag, mode));                paint.setColor(ag);                canvas.drawCircle(cx - tx, cy + ty, expand * r, paint);                paint.setColorFilter(new PorterDuffColorFilter(ab, mode));                paint.setColor(ab);                canvas.drawCircle(cx + tx, cy + ty, expand * r, paint);            }        }        this.setContentView(new VennView(this));    }}

//详情请点击
http://stackoverflow.com/questions/11838022/how-to-paint-with-alpha

0 0
原创粉丝点击