android自定义TextView实现绘制圆圈
2016-11-11 15:43
453 查看
很多时候在开发中我们经常会使用到各种各样的效果。今天我们就来学习一下在android中使用自定义的TextView来实现绘制圆圈的效果。废话不多说,我们先看效果再看代码。
public class CircleTextView extends TextView { private Paint mPaint; public CircleTextView(Context context) { super(context); } public CircleTextView(Context context, AttributeSet attrs) { super(context, attrs); } public CircleTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint = new Paint(); //创建一个RectF,用来限定绘制圆弧的范围 RectF rectf = new RectF(); //设置画笔的颜色 mPaint.setColor(Color.GRAY); //设置画笔的样式 mPaint.setStyle(Paint.Style.STROKE); //设置抗锯齿 mPaint.setAntiAlias(true); //设置画得一个半径,然后比较长和宽,以最大的值来确定长方形的长宽,确定半径 int r = getMeasuredWidth() > getMeasuredHeight() ? getMeasuredWidth() : getMeasuredHeight(); rectf.set(getPaddingLeft(), getPaddingTop(), r - getPaddingRight(), r - getPaddingBottom()); String testString ="CircleTextView"; Rect bounds = new Rect(); Paint paint=new Paint(); paint.setColor(Color.BLUE); paint.setStyle(Paint.Style.FILL); paint.getTextBounds(testString, 0, testString.length(), bounds); //绘制文字 canvas.drawText(testString, getMeasuredWidth() / 2 - bounds.width() / 2, getMeasuredHeight() / 2 + bounds.height() / 2, paint); //绘制圆弧 canvas.drawArc(rectf, 0, 360, false, mPaint); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }
相关文章推荐
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- 解析在Android中为TextView增加自定义HTML标签的实现方法
- [android自定义控件]之自定义TextView实现两个text
- android自定义View实现图片的绘制、旋转、缩放
- Android TextView 自定义识别文本中的超链接并打开自身WebView(按照微信效果实现)
- android listView 自定义布局结合CheckedTextView实现多选
- Android-自定义TextView和异步加载图片的实现
- Android 自定义TextView 实现文字对齐排版且支持点击划词
- android自定义的TextView,实现跑马灯效果
- Android实战简易教程<三十二>(自定义View登录注册界面EditText-实现一键清空)
- android 让TextView支持的Html标签实现自定义时钟显示组件DigitalClock
- Android实现自定义view---绘制图片
- Android TextView自定义实现@用户跳转
- Android-自定义TextView和异步加载图片的实现
- Android自定义AutoCompleteTextView实现自动补全Email
- android 自定义textView,实现排版对齐和换行
- Android自定义TextView实现跑马灯功能
- android TextView 实现自定义文字点击效果