自定义View之自定义按键圆角边框背景以及使用库
大概有两种实现的方法,一种是在自定义控件时候绘制drawable然后设置称成背景,另一种是自定义控件时候采用paint进行几种简单的绘制,
本例子是采用后者自定义。
先放个GitHub链接:https://github.com/cc0819/BgButton.git
效果如图
首先设置需要自定义的属性,相关作用如图
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="BgButton">
<!--背景颜色-->
<attr name="bgColor" format="color|reference"/>
<!--边框颜色-->
<attr name="cornerRadiusColor" format="color"/>
<!-- 边框厚度 -->
<attr name="borderWidth" format="dimension"/>
<!--圆角半径-->
<attr name="cornerRadius" format="dimension" />
<attr name="topLeftRadius" format="dimension"></attr>
<attr name="topRightRadius" format="dimension"></attr>
<attr name="bottomLeftRadius" format="dimension"></attr>
<attr name="bottomRightRadius" format="dimension"></attr>
<!--形状-->
<attr name="shapeType" format="enum">
<enum name="rectangle" value="0"></enum>
<enum name="oval" value="1"></enum>
</attr>
<!-- 虚线长度 -->
<attr name="borderDashLength" format="dimension"/>
<!-- 虚线间隙小点长度 -->
<attr name="borderDashGapSmall" format="dimension"/>
<!-- 虚线间隙 -->
<attr name="borderDashGap" format="dimension"/>
</declare-styleable>
</resources>
然后在代码中实现如下
package com.cheng.cc.library;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.graphics.Path;
import android.g