文章标题 Android 自定义控件---- View1
2017-05-12 13:54
423 查看
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)); } @Override protected 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方法。
相关文章推荐
- 文章标题:Android常见控件TextView的使用方法
- 文章标题:Android常见控件ImageView的使用方法
- 【Android】获取webview文章的标题
- android初学者——自定义控件(继承View)
- android自定义控件的最大高度MaxHeightView
- Android自定义控件----YluoTextView可以改变Drawable大小颜色的TextView
- 3.4.Android控件架构与自定义控件详解之ViewGroup的测量与绘制
- Android自定义控件6----继承ViewGroup自定义侧滑菜单
- Android开发:用getDrawingCache方法获取ImageView中的图像需要注意的问题 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http:/
- Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中
- Android 自定义控件之继承view
- android错误提醒之:Custom view * is not using the 2- or&nb(自定义控件)
- 轻松实现分页指示器 ViewPagerIndicator Android自定义控件
- Android-自定义控件基础-抽奖转盘(SurfaceView)
- Android WebView的简单使用,实现标题、加载进度提示
- Android 自定义控件玩转字体变色 打造炫酷ViewPager指示器
- android —— 自定义控件 竖向的ViewPager,上下滑动的组件,android上下滑动 VerticalPager
- Android 自定义控件布局 NullPointerException findViewById
- android 获取WebView的页面标题
- Q: 自定义控件时出现错误 unable to start activity ... android.view.InflateException: Binary XML file lin ...