canvas 画文本时如何控制文本颜色

h3g2010 2011-05-16 04:40:32
canvas.drawText("字符串", x, y, paint);
该方法是在屏幕上画一行字,请问如何把这一行中某个字的颜色(或者背景颜色)与其他不同?
...全文
1404 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
changy 2011-05-18
  • 打赏
  • 举报
回复
分成3次来画,
画前N-1个字符, 画第N个字符, 画剩余的字符
h3g2010 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dream19861009 的回复:]
一种方法是对这个字 单独调用 canvas.drawText 设置指定颜色的paint
另一种方法不知道行不行,在layout中配置xml可以,即采用html格式的方式插入文字,可以指定颜色,但不知道作为canvas.drawText 的参数行不行(可行性貌似不大)
[/Quote]
我想达到的效果是:某 M 行的前N-1个字符是黑色,第N个字符是红色或者红色背景,第N个字符以后又是黑色。
其中M和N都是变量,不知道是哪个位置,随时会变的,所以不能在XML里面设置死了。
至于第一种方法,可以动态的算坐标来画个背景色,我是这么算出来的..
wyx100 2011-05-18
  • 打赏
  • 举报
回复
一种方法是对这个字 单独调用 canvas.drawText 设置指定颜色的paint
另一种方法不知道行不行,在layout中配置xml可以,即采用html格式的方式插入文字,可以指定颜色,但不知道作为canvas.drawText 的参数行不行(可行性貌似不大)
h3g2010 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ch_984326013 的回复:]
调用canvas的drawText()方法,设置字体方面的东西。
[/Quote]
我想达到的效果是:某 M 行的前N-1个字符是黑色,第N个字符是红色或者红色背景,第N个字符以后又是黑色。
h3g2010 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lyltiger 的回复:]
Paint txtPaint = new Paint(); //画笔
txtPaint.setColor(Color.BLUE);

这样即可
[/Quote]
我想达到的效果是:某 M 行的前N-1个字符是黑色,第N个字符是红色或者红色背景,第N个字符以后又是黑色。
h3g2010 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 danferw 的回复:]
Paint paint = new Paint(); //创建画笔
paint.setColor(Color.GREEN);
canvas.drawText("屏幕分辨率: "+screenWidth+" x "+screenHeight, 10, 10, paint);
[/Quote]
我想达到的效果是:某 M 行的前N-1个字符是黑色,第N个字符是红色或者红色背景,第N个字符以后又是黑色。
danferw 2011-05-17
  • 打赏
  • 举报
回复
Paint paint = new Paint(); //创建画笔
paint.setColor(Color.GREEN);
canvas.drawText("屏幕分辨率: "+screenWidth+" x "+screenHeight, 10, 10, paint);
stardust_oak 2011-05-17
  • 打赏
  • 举报
回复
楼上有答案了吧
ch_984326013 2011-05-17
  • 打赏
  • 举报
回复
调用canvas的drawText()方法,设置字体方面的东西。
lyltiger 2011-05-17
  • 打赏
  • 举报
回复
Paint txtPaint = new Paint(); //画笔
txtPaint.setColor(Color.BLUE);

这样即可
xingyanjiang 2011-05-16
  • 打赏
  • 举报
回复
ls 的方法可以 俺试过了
dream19861009 2011-05-16
  • 打赏
  • 举报
回复
一种方法是对这个字 单独调用 canvas.drawText 设置指定颜色的paint
另一种方法不知道行不行,在layout中配置xml可以,即采用html格式的方式插入文字,可以指定颜色,但不知道作为canvas.drawText 的参数行不行(可行性貌似不大)
h3g2010 2011-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ldj299 的回复:]
分开来画。
[/Quote]
怎么分?
ldj299 2011-05-16
  • 打赏
  • 举报
回复
分开来画。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧