android中画文字的换行 办法(对于遇到canvas.drawText(String s )无法实现换行问题的解决)
2015-08-09 12:35
796 查看
在使用canvas.drawText()绘制文字的时候,发现,如果需要绘制的文字较长,需要换行,通过在文字中加上“\n"或者”\r\n"都无法实现换行,如果非要使用canvas.drawText()方法来绘制,则必须自己手动的将文字给断开,这样很不方便,如果需要改变文字大小的时候,则还需要重新改写断开的方法,或者直接写个可以根据文字大小进行自动断开字符串的方法,但是,都是很繁琐的办法,其实,android中是有提供实现绘制字符串换行的方式的,如下:
TextPaint textPaint = new TextPaint();
textPaint.setARGB(0xFF, 0xFF, 0, 0);
textPaint.setTextSize(20.0F);
String aboutTheGame = "关于本游戏:本游戏是做测试用的,这些文字也是,都不是瞎写的! ";
/**
* aboutTheGame :要 绘制 的 字符串 ,textPaint(TextPaint 类型)设置了字符串格式及属性 的画笔,240为设置 画多宽后 换行,后面的参数是对齐方式...
*/
StaticLayout layout = new StaticLayout(aboutTheGame,textPaint,240,Alignment.ALIGN_NORMAL,1.0F,0.0F,true);
//从 (20,80)的位置开始绘制
can.translate(20,80);
layout.draw(can);
TextPaint textPaint = new TextPaint();
textPaint.setARGB(0xFF, 0xFF, 0, 0);
textPaint.setTextSize(20.0F);
String aboutTheGame = "关于本游戏:本游戏是做测试用的,这些文字也是,都不是瞎写的! ";
/**
* aboutTheGame :要 绘制 的 字符串 ,textPaint(TextPaint 类型)设置了字符串格式及属性 的画笔,240为设置 画多宽后 换行,后面的参数是对齐方式...
*/
StaticLayout layout = new StaticLayout(aboutTheGame,textPaint,240,Alignment.ALIGN_NORMAL,1.0F,0.0F,true);
//从 (20,80)的位置开始绘制
can.translate(20,80);
layout.draw(can);
相关文章推荐
- android学习笔记(8)linearlayout与android:layout_weight学习
- Android中自定义属性(attrs.xml,TypedArray的使用)
- Android 的消息机制
- 使用SpannableString设置部分文字大小、颜色、超链接、点击事件
- Android核心基础-8.Android四大组件之Activity-1.创建、启动
- RecyclerView之动画效果
- Android Handler的使用(2)
- Android之——常用手机号码功能
- Android AIDL线程通信之Service回调客户端Activity
- Android蓝牙开发
- android.graphics.drawable.Drawable注释翻译
- Android中实现多线程下载的两种方式示例及浅析之二(Thread加断点续传)
- MyEclips常见问题
- 自定义控件(PullToRefreshListView,XListView)的原理
- android学习笔记(6)Activity高级+android:theme学习
- Android-菜单库-ArcMenu、LineMenu、RoundMenu
- Android运行时ART简要介绍和学习计划
- SPICE协议在Android上的几个优化要点
- Android中怎样获取手机分辨率
- android自定义回调接口