自定义控件之drawText()方法理解
来源:互联网 发布:淘宝自定义装修教程 编辑:程序博客网 时间:2024/06/16 00:22
/** * text:要绘制的文字 * x:绘制原点x坐标 * y:绘制原点y坐标 * paint:用来做画的画笔 */ public void drawText(String text, float x, float y, Paint paint)
drawText 方法是用来在View中绘制自定义文字。
让我们先了解一下android中绘制文字的原理:
如上图,android是通过极限位置,图中点的位置(就是drawText方法中(x,y)坐标所在的点)和文字的大小来绘制文字的位置。
基线的y轴位置即是drawText中的y值。
这里特别强调一下drawText方法中x值。
x值是和Paint.setTextAlign(Align align)共同来确定文字开始绘制的位置。
下面分别来看一下Align设置为不同的值的效果图。
<pre name="code" class="java"> @Override protected void onDraw(Canvas canvas) { mPaint.setColor(Color.GRAY); canvas.drawRect(0,0,getMeasuredWidth(),getMeasuredHeight(),mPaint); mPaint.setColor(Color.RED); canvas.drawLine(getMeasuredWidth()/2,0,getMeasuredWidth()/2,getMeasuredHeight(),mPaint); mPaint.setColor(mTitleTextColor); mPaint.setTextAlign(Paint.Align.LEFT); // Paint.FontMetricsInt fontMetricsInt = mPaint.getFontMetricsInt(); // int baselineY = getMeasuredHeight()/2 -(fontMetricsInt.top+fontMetricsInt.bottom)/2; canvas.drawText(mTitleText,getMeasuredWidth()/2-mBound.width()/2,getMeasuredHeight()/2-mBound.height()/2,mPaint); }
效果图如下:
当将Align设置为RIGHT时,
效果图如下:
当将Align设置为CENTER时,
效果图如下:
0 0
- 自定义控件之drawText()方法理解
- 自定义控件之绘图篇:drawText详解
- 自定义控件之绘图篇:drawText()详解
- 自定义控件之绘图篇( 五):drawText()详解
- 自定义控件之绘图篇( 五):drawText()详解
- 自定义控件之绘图篇( 五):drawText()详解
- 自定义控件(28)---drawText、FontMetrics学习
- Android自定义控件---DrawText 基线的确定
- Android自定义控件中获取文字宽高的方法已经drawText中的xy
- 自定义控件之绘图篇(五) —— drawText()详解
- android自定义控件canvas.drawText()的坐标问题
- Android自定义控件drawText的baseline的问题
- 自定义RichTextField的drawText方法如何根据文字大小换行
- 博客笔记:自定义View之绘图(1)--drawText
- 笔记—自定义View之DrawText文字绘制
- 自定义控件之二阶贝塞尔曲线方法详解
- 自定义View控件之onMeasure方法详解
- 自定义view-drawText
- springMVC源码分析--容器初始化(一)ContextLoaderListener
- dialog,弹出对话框实例
- window QT 环境下编写网络程序(二)---简易的UDP收发程序移植到Linux环境
- http://blog.csdn.net/lmj623565791/article/details/37706355
- 编译原理之文法
- 自定义控件之drawText()方法理解
- Git 自学笔记 egit (分支管理 下)
- 构建分布式的协同过滤推荐系统
- JAVA项目实战学习笔记之批处理
- gstreamer中rtpjitterbuffer的定时器线程及重传请求代码分析
- PHP连接数据库&通过下拉列表及具体条件查询数据
- Shader Storage Block对象及其使用
- 移植tiobench到openwrt
- Linux基本命令之linux cd命令详解