自定义画圆
来源:互联网 发布:淘宝延长收货 花呗 编辑:程序博客网 时间:2024/05/20 20:05
/** * 1.名字: boss * 2.时间: 2016/11/30 14:38 * 3.作用:自定义TextView绘制圆 */public class TextCircleView extends TextView { private Paint mPaint; public TextCircleView(Context context) { super(context); // TODO Auto-generated constructor stub } //xml创建TextCircleView调用这个构造函数 public TextCircleView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub init(); } //new TextCircleView调用这个构造函数 public TextCircleView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } /** * 初始化画笔 */ public void init() { mPaint = new Paint(); } /** * 调用onDraw绘制边框 */ @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); //创建一个RectF,用来限定绘制圆弧的范围 RectF rectf = new RectF(); //设置画笔的颜色 mPaint.setColor(getPaint().getColor()); //设置画笔的样式,空心 mPaint.setStyle(Paint.Style.STROKE); //设置抗锯齿 mPaint.setAntiAlias(true); //设置画得一个半径,然后比较长和宽,以最大的值来确定长方形的长宽,确定半径 int r = getMeasuredWidth() > getMeasuredHeight() ? getMeasuredWidth() : getMeasuredHeight(); //如果设置的padding不一样绘制出来的是椭圆形。绘制的时候考虑padding //Log.i("边界", "宽度"+getMeasuredWidth()+"高度"+getMeasuredHeight()+"getPaddingLeft()"+getPaddingLeft()+"getPaddingTop"+getPaddingTop()+"getPaddingRight(): "+getPaddingRight()+"getPaddingBottom()"+getPaddingBottom()); //当padding都为0的时候,绘制出来的就是RectF限定的区域就是一个正方形 rectf.set(getPaddingLeft(),getPaddingTop(),r-getPaddingRight(),r-getPaddingBottom()); //绘制圆弧 canvas.drawArc(rectf,0,360,false,mPaint); }}
0 0
- 自定义->画一个圆
- 自定义画圆
- 自定义画圆
- 自定义画圆+文字
- 自定义画圆
- 自定义画圆
- 自定义画圆
- 自定义画圆
- 自定义画圆与直线
- 自定义view画圆拖动
- 自定义控件画笔画圆
- 自定义View画三个圆
- 自定义view画一个圆
- 自定义控件之画圆及自定义属性
- 自定义圆
- 自定义圆
- 自定义圆
- 自定义View控件画圆,拖动圆
- SCP 命令
- Zabbix_LLD for LVS_api
- 幂集问题(即求全组合,全部子集问题)
- Kotlin-集合详解(一)
- SQL2005\2008行转列脚本编写
- 自定义画圆
- gradle脚本入门
- 读吴军博士《智能时代》有感
- 自定义toast的使用
- 待测试 Spring的Bean在类名上注解@ContextConfiguration(locations = {"/spring-context.xml"})
- Linux操作系统简介和流行的厂商版本介绍
- 更好的理解DP(动态规划)算法
- 如何调试Global.asax
- kafka入门经典教程