国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android自定義view實(shí)現(xiàn)圓環(huán)效果實(shí)例代碼

2019-12-12 00:39:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

先上效果圖,如果大家感覺(jué)不錯(cuò),請(qǐng)參考實(shí)現(xiàn)代碼。

         

重要的是如何實(shí)現(xiàn)自定義的view效果

(1)創(chuàng)建類(lèi),繼承view,重寫(xiě)onDraw和onMesure方法

public class CirclePercentBar extends View{  private Context mContext;  private int mArcColor;  private int mArcWidth;  private int mCenterTextColor;  private int mCenterTextSize;  private int mCircleRadius;  private Paint arcPaint;  private Paint arcCirclePaint;  private Paint centerTextPaint;  private RectF arcRectF;  private Rect textBoundRect;  private float mCurData=0;  private int arcStartColor;  private int arcEndColor;  private Paint startCirclePaint;  public CirclePercentBar(Context context) {    this(context, null);  }  public CirclePercentBar(Context context, AttributeSet attrs) {    this(context, attrs, 0);  }  public CirclePercentBar(Context context, AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);    mContext=context;    TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.CirclePercentBar,defStyleAttr,0);    mArcColor = typedArray.getColor(R.styleable.CirclePercentBar_arcColor,0xff0000);    mArcWidth = typedArray.getDimensionPixelSize(R.styleable.CirclePercentBar_arcWidth, DisplayUtil.dp2px(context, 20));    mCenterTextColor = typedArray.getColor(R.styleable.CirclePercentBar_centerTextColor, 0x0000ff);    mCenterTextSize = typedArray.getDimensionPixelSize(R.styleable.CirclePercentBar_centerTextSize, DisplayUtil.dp2px(context, 20));    mCircleRadius = typedArray.getDimensionPixelSize(R.styleable.CirclePercentBar_circleRadius, DisplayUtil.dp2px(context, 100));    arcStartColor = typedArray.getColor(R.styleable.CirclePercentBar_arcStartColor,        ContextCompat.getColor(mContext, R.color.green));    arcEndColor = typedArray.getColor(R.styleable.CirclePercentBar_arcEndColor,        ContextCompat.getColor(mContext, R.color.yellow));    typedArray.recycle();    initPaint();  }  private void initPaint() {    startCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);    startCirclePaint.setStyle(Paint.Style.FILL);    //startCirclePaint.setStrokeWidth(mArcWidth);    startCirclePaint.setColor(arcStartColor);    arcCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);    arcCirclePaint.setStyle(Paint.Style.STROKE);    arcCirclePaint.setStrokeWidth(mArcWidth);    arcCirclePaint.setColor(ContextCompat.getColor(mContext,R.color.colorAccent));    arcCirclePaint.setStrokeCap(Paint.Cap.ROUND);    arcPaint = new Paint(Paint.ANTI_ALIAS_FLAG);    arcPaint.setStyle(Paint.Style.STROKE);    arcPaint.setStrokeWidth(mArcWidth);    arcPaint.setColor(mArcColor);    arcPaint.setStrokeCap(Paint.Cap.ROUND);    centerTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);    centerTextPaint.setStyle(Paint.Style.STROKE);    centerTextPaint.setColor(mCenterTextColor);    centerTextPaint.setTextSize(mCenterTextSize);    //

主站蜘蛛池模板:
元朗区|
肃南|
陵水|
潞西市|
克拉玛依市|
射洪县|
连平县|
周口市|
石阡县|
五台县|
池州市|
德清县|
郓城县|
理塘县|
遵义县|
霍邱县|
麻江县|
巢湖市|
凉山|
阳信县|
通化县|
九龙坡区|
于都县|
邻水|
昌都县|
泊头市|
集贤县|
东台市|
商城县|
天峨县|
崇阳县|
锦州市|
大港区|
融水|
岑巩县|
阿克陶县|
辉县市|
昭平县|
太康县|
乌拉特中旗|
孝昌县|