如何在Android中的Canvas上绘制TextView??
我们有Canvas.DrawBitmap()
,Canvas.drawText()
。我们在Canvas中有任何Method,它将TextView作为参数或任何其他方法在Canvas上显示TextView吗?
实际上,我在TextView中有一个字母表,我必须在画布上绘制该字母表。
请提出建议....感谢您的合作
答案 0 :(得分:47)
您无法直接绘制Textview,但可以将其放置在布局中并绘制布局。像这样:
LinearLayout layout = new LinearLayout(context);
TextView textView = new TextView(context);
textView.setVisibility(View.VISIBLE);
textView.setText("Hello world");
layout.addView(textView);
layout.measure(canvas.getWidth(), canvas.getHeight());
layout.layout(0, 0, canvas.getWidth(), canvas.getHeight());
// To place the text view somewhere specific:
//canvas.translate(0, 0);
layout.draw(canvas);
答案 1 :(得分:1)
您可能需要使用StaticLayout
。它可以绘制格式化文本,管理自动换行等。看看http://developer.android.com/reference/android/text/StaticLayout.html
答案 2 :(得分:0)
您需要创建一个扩展Textview的类。之后重写onDraw方法。此方法可让您以您喜欢的方式绘制文本视图