####效果图

###思路
一共需要画四个圆弧
第一个 最外层的边
第二个 圆环
第三个 内边
第四个 数字所在的边(实现方式 drawTextOnPath)
宽高相等 所以下边会有一点空白 不喜欢可以通过clipChildren 自己去掉 或者用什么布局盖住
本demo 宽度为屏幕的3/5 高度等宽。
###代码
package com.power;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
/**
* Created by 于德海 on 2018/8/15.
* package inter.baisong.widgets
* email : yudehai0204@163.com
*
* @describe
*/
public class PowerView extends View {
private Paint mLine_Paint,mOval_Paint_Grey,mOva_Paint_Blue,mLine_Paint_White,mTextPaint;
private final int DefaultColor = Color.parseColor("#eeeeee");//默认色彩
private final int[] colors = new int[]{Color.parseColor("#4de4f6"),
Color.parseColor("#337fdd"),Color.parseColor("#3347dd")};
private int dip_1,dip_18;
private LinearGradient mLinearGradient;//渐变色
private int mCircle_angle= 240;//内环总度数 180 +60
private final float MAX_POWER =100;//最大

最低0.47元/天 解锁文章
498

被折叠的 条评论
为什么被折叠?



