实现如下自定义边框,对TextView进行重写,canvas边框即可。重点是弧线的画法
画弧度主要是arcTo和addArc两个方法
都是从3点钟开始,顺时针画,注意左上角和右下角是两倍的半径
- ArcTo 有两个传参方法可以通过RectF封装位置
forceMoveTo:true 抬起画笔 false保留路径相当于上个点坐标lineTo左上角
public void arcTo(float left, float top, float right, float bottom, float startAngle,
float sweepAngle, boolean forceMoveTo){
}
public void arcTo(@NonNull RectF oval, float startAngle, float sweepAngle) {
arcTo(oval.left, oval.top, oval.right, oval.bottom, startAngle, sweepAngle, false);
}
2.addArc 相当于 ArcTo设置forceMoveTo 为 true
代码逻辑
StrokeTextView.class
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.util.AttributeSet;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatTextView;
import com.wttech.gm.R;
public class StrokeTextView extends AppCompatTextView {
public s