思考:
UI效果图总是喜欢给出各种背景,来突出效果
eg:
线条样式(线条角度,颜色,宽度)
填充样式(角度,背景色)
常规的实现方法,我们会采取在Drawable文件夹下新建shape资源,来绘制各种背景样式,然后设置给我们需要用到的view控件,这样就会涉及到,角度大小不一样、线条宽度不一样、颜色值不一样;那么再新建shape.xml文件吧....
下面来看一下代码方式实现
package com.test.zd.baselibrary.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
import com.test.zd.baselibrary.R;
/**
* Package: com.example.zd.baseapi.view
*
* describe: 有简单背景图案的textView
* 简单的背景图可以用这个,省去自定义各种shape资源
*
* @author zhangdong on 2019/10/18 0018.
* @version 1.0
* @see .
* @since 1.0
*/
public class ShapeBgTextView extends AppCompatTextView {
//注意统一尺寸单位 获取到的都是px值 所以设置的都转成px使用
private Paint mPaint;
private RectF rectF;
private int drawShapeColor; //周围一圈线颜色
private int lineWidth; //周围线宽度 单位转换成px
private int corner; //圆角大小 单位转换成px
private int shapeStyle; //图形样式 0-画线 !=0 填充