文章标题 Android 自定义控件---- View1
来源:互联网 发布:阿里云带宽价格 编辑:程序博客网 时间:2024/05/22 16:40
public class MyView extends View {
private RectF mrect;private float circleXY;private float radius;private Paint cPaint;private Paint marcPaint;private Paint mTextPaint;private float length;private String textStr = "60%";public MyView(Context context) { super(context); init();}public MyView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init();}public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init();}private void init(){ WindowManager window = (WindowManager)this.getContext() .getSystemService(Context.WINDOW_SERVICE); DisplayMetrics displayMetrics = new DisplayMetrics(); window.getDefaultDisplay().getMetrics(displayMetrics); this.length = displayMetrics.widthPixels; this.circleXY = this.length / 2; this.radius = (float) (this.length * 0.5 / 2); this.marcPaint = new Paint(); this.marcPaint.setStyle(Paint.Style.STROKE); this.marcPaint.setStrokeWidth(40); this.marcPaint.setColor(Color.BLUE); this.cPaint = new Paint(); this.cPaint.setStyle(Paint.Style.FILL); this.cPaint.setColor(Color.GREEN); this.mTextPaint = new Paint(); this.mTextPaint.setColor(Color.BLACK); this.mTextPaint.setStyle(Paint.Style.FILL); this.mTextPaint.setTextSize(60); this.mrect = new RectF( (float)(length * 0.1) , (float)(length * 0.1), (float)(length * 0.9), (float)(length * 0.9));}@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawCircle(this.circleXY , circleXY , radius , cPaint); canvas.drawArc(mrect , 270 , 240 , false , marcPaint); //测量字符串的在屏幕上的占用长度 float mWidth = mTextPaint.measureText(textStr); canvas.drawText(textStr , 0 , textStr.length() , circleXY - mWidth / 4 , circleXY + mWidth / 4 , mTextPaint);}
}
通过继承View , 重写onDraw方法。
0 0
- 文章标题 Android 自定义控件---- View1
- android 自定义View1 笔记
- android自定义view1
- android自定义View1
- 自定义View1
- 自定义view1
- 【Android进阶之路】自定义View1
- Android自定义组合标题控件
- Android自定义控件之标题控件
- Android 自定义控件系列文章
- 自定义view1/12
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- Android自定义控件三部曲文章索引
- 用户-表空间操作
- 4.2_图像缩放
- tcp和upd的区别?为啥要用udp
- 《UNIX环境高级编程》第9章 进程关系
- 3.dns
- 文章标题 Android 自定义控件---- View1
- 没知识真可怕——应用密码学的笑话之MD5+Salt不安全
- 4.3_水印的绘制
- 关于DStream的输出(foreachRDD)操作
- class-aware detector and class-agnostic detector
- 机器学习(周志华)_第八章 集成学习
- MySQL详解--锁
- 自定义View基础
- 算法导论读书笔记(2)算法基础