最近要修改用户空间头部信息显示,参考了好多APP的用户空间,都有一个弧形的背景,看着挺漂亮的。实现这种效果,有两种实现方式:1、作图;2、通过代码进行绘制。今天就讲讲如何通过canvas进行绘制。
一、用到的知识点
1、Android或或者Java中绘图需要用到Canvas和Paint类,一个是画布,一个是画笔;
2、canvas.drawRect和canvas.drawArc的使用;
3、LinearGradient线性渐变和Paint.setShader的使用;
二、具体代码
public class ArcBackgroundView extends View {
private Paint mPaint;
private int mStartColor, mEndColor;
public ArcBackgroundView(Context context) {
this(context, null);
}
public ArcBackgroundView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public ArcBackgroundView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);