最终效果如下,没使用任何图片,全手工绘制,比较基础,给大家刚入门的做一个总结
流程要点
1 初始化
主要是Paint的属性和控件颜色、距离、大小的定义,这些需要在制作过程细心调整
mDefaultWidthm、DefaultHeight 可以在onMeasure()测量的时候定义,表示控件不设置具体大小时的初始化宽高
private float mLineThickness;
private int mDefaultHeight;
private int mDefaultWidth;
private Paint mLinePaint;
private Paint mTrianglePaint;
private int mTriangleLength;
private float mProgressLength;
private int mColorBlue;
private int mColorRed;
private float mTriangleCenterLength;
private int mProgress;
private int mBorderPadding;
private void init() {
mColorBlue = getResources().getColor(R.color.blue0DD2FF);
mColorRed = getResources().getColor(R.color.redFA4254);
mColorWhite = getResources().getColor(R.color.white);
final DisplayMetrics metrics = getResources().getDisplayMetrics();
mDefaultHeight = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,