Paint常用用法

效果图:

效果图

本文不是为了完成一个像上图一样的渣渣效果,只是简单说明一下Canvas 和Paint的基本使用记录。

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;

public class DrawView extends View {

    Paint mPaint;

    public DrawView(Context context) {
        super(context);
        init();
    }

    public DrawView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {

        // 设置抗锯齿开关
//        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG );

        mPaint = new Paint();
        mPaint.setAntiAlias(true);      // 设置抗锯齿开关

    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        int x = getWidth() / 2;
        int y = getHeight() / 2;

        //画布颜色  类似的方法还有 drawRGB(int r, int g, int b) 和 drawARGB(int a, int r, int g, int b)
        // 这类颜色填充方法一般用于在绘制之前设置底色,或者在绘制之后为界面设置半透明蒙版。
        canvas.drawRGB(200,200,200);

        //设置绘制内容的颜色
        mPaint.setColor(Color.BLUE);

        //模式改为画线模式   FILL 是填充模式,STROKE 是画线模式(即勾边模式),FILL_AND_STROKE 是两种模式一并使用:既画线又填充。
        //它的默认值是 FILL,填充模式
        mPaint.setStyle(Paint.Style.STROKE);

        //在 STROKE 和 FILL_AND_STROKE 下,还可以使用 paint.setStrokeWidth(float width) 来设置线条的宽度
        mPaint.setStrokeWidth(20);


        canvas.drawRect(x / 2, x / 2, x * 1.5f, y * 1.5f, mPaint);
        mPaint.setColor(Color.YELLOW);
        canvas.drawLine(x / 2,x / 2,x * 1.5f, y * 1.5f, mPaint);
        mPaint.setColor(Color.GREEN);
        canvas.drawLine(x * 1.5f, y /2,x/2,y*1.5f,mPaint );

        mPaint.setColor(Color.BLUE);
        //点的形状可以通过  paint.setStrokeCap(cap) 来设置:ROUND 画出来是圆形的点,SQUARE 或 BUTT 画出来是方形的点。
        mPaint.setStrokeCap(Paint.Cap.ROUND );
        mPaint.setStrokeWidth(100);
        canvas.drawPoint(x,y,mPaint);

    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,099评论 25 709
  • 一、概述 1. 四线格与基线 小时候,我们在刚开始学习写字母时,用的本子是四线格的,我们必须把字母按照规则写在四线...
    addapp阅读 12,389评论 2 17
  • 系列文章之 Android中自定义View(一)系列文章之 Android中自定义View(二)系列文章之 And...
    YoungerDev阅读 6,714评论 0 4
  • 1.小程序: 以上是小程序切入的场景和推广渠道。 2.微信订阅号 3.微信服务号 与微信订阅号相比较: 1.微信订...
    一只大黑猫阅读 5,228评论 0 1
  • 我很幸运我有一个美满的家庭,爸爸妈妈恩爱,他们也爱我。我有许多朋友,在人生的各个阶段都有他们的陪伴,他们人很好,我...
    芬芳秀域阅读 3,060评论 0 1

友情链接更多精彩内容