Android ApiDemos示例解析(81):Graphics->Text Align
来源:互联网 发布:js判断变量是否未定义 编辑:程序博客网 时间:2024/06/07 17:02
前面例子Android ApiDemos示例解析(68):Graphics->MeasureText 介绍了如何取的所绘制文字串的尺寸(宽度和高度),文字的缺省对齐为左对齐,本例介绍了其它几种对齐方式:Left, Center ,Right 以及如何沿任意曲线绘制文字。
Paint的getTextWidths 方法取得字符串中每个字符的宽度:
private float[] buildTextPositions(String text, float y, Paint paint) { float[] widths = new float1; // initially get the widths for each char int n = paint.getTextWidths(text, widths); // now popuplate the array, //interleaving spaces for the Y values float[] pos = new float[n * 2]; float accumulatedX = 0; for (int i = 0; i < n; i++) { pos[i*2 + 0] = accumulatedX; pos[i*2 + 1] = y; accumulatedX += widths[i]; } return pos;}
然后使用三种不同对齐方式绘制文字:Left,Center,Right:
p.setTextAlign(Paint.Align.LEFT);...p.setTextAlign(Paint.Align.CENTER);...p.setTextAlign(Paint.Align.RIGHT);canvas.drawText(TEXT_R, x, y, p);
创建一条路径makePath
private static void makePath(Path p) { p.moveTo(10, 0); p.cubicTo(100, -50, 200, 50, 300, 0);}
然后沿这条路径,也以三种不同对齐方式沿Path绘制文字:
p.setTextAlign(Paint.Align.LEFT);...p.setTextAlign(Paint.Align.CENTER);...p.setTextAlign(Paint.Align.RIGHT);canvas.drawPath(mPath, mPathPaint);canvas.drawTextOnPath(TEXTONPATH, mPath, 0, 0, p);
- Android ApiDemos示例解析(81):Graphics->Text Align
- Android ApiDemos示例解析(77):Graphics->RoundRects
- Android ApiDemos示例解析:Graphics->Layers
- Android ApiDemos示例解析(55):Graphics->BitmapMesh
- Android ApiDemos示例解析(56):Graphics->BitmapPixels
- Android ApiDemos示例解析:Graphics->Layers
- Android ApiDemos示例解析(51):Graphics->AlphaBitmap
- Android ApiDemos示例解析(52):Graphics->AnimateDrawables
- Android ApiDemos示例解析(53):Graphics->Arcs
- Android ApiDemos示例解析(54):Graphics->BitmapDecode
- Android ApiDemos示例解析(55):Graphics->BitmapMesh
- Android ApiDemos示例解析(56):Graphics->BitmapPixels
- Android ApiDemos示例解析(57):Graphics->CameraPreview
- Android ApiDemos示例解析(58):Graphics->Clipping
- Android ApiDemos示例解析(59):Graphics->ColorFilters
- Android ApiDemos示例解析(60):Graphics->ColorMatrix
- Android ApiDemos示例解析(61):Graphics->Compass
- Android ApiDemos示例解析(62):Graphics->CreateBitmap
- 另类思路解决textbox不支持(半)透明背景颜色的问题
- ADB commands
- js页面跳转代码
- Saving Word 2007 Documents to PDF and XPS Formats
- 阿里巴巴离职DBA职业生涯总结
- Android ApiDemos示例解析(81):Graphics->Text Align
- 常见DB2命令
- 反射详解-通过Class实例化具体类的对象(无参数构造)
- fopen 打开方式
- Android linux adb安装操作命令图解
- Python 中的strip lstrip rstrip使用方法 .
- 求解:struts2 模型驱动问题
- JavaCore文件分析
- 让你的健康是你的实际年龄,消灭胆固醇高