画一个简单的田字格

image.png

上代码

package com.nick.customview;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.support.annotation.Nullable;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;


public class SimpleRectangle extends AppCompatImageView {

    public SimpleRectangle(Context context) {
        super(context);
    }

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

    public SimpleRectangle(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void draw(Canvas canvas) {
        Paint paint = new Paint();
        paint.setColor(Color.BLUE);
        paint.setStyle(Paint.Style.STROKE);
        paint.setAlpha(250);
        paint.setStrokeWidth(10.0f);
        paint.setStrokeCap(Paint.Cap.ROUND);
        RectF rectF = new RectF(80, 80, getWidth()- 80, getHeight()- 80);
        canvas.drawRoundRect(rectF, 30, 30, paint);
        canvas.drawLine(80, getHeight()/2, getWidth()- 80, getHeight()/2, paint);
        canvas.drawLine(getWidth()/2, 80, getWidth()/2, getHeight()- 80, paint);
        super.draw(canvas);
    }
}

一开始遇到的问题是怎么让边框的角变成圆角,后来查到添加paint的一个属性就可以做到。看developers怎么介绍这个牛逼的属性的:

paint.setStrokeCap(Paint.Cap.ROUND);

image.png

当画笔paint的样式是描边或这描边填充时使用Cap参数来设置线头的样式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容