Как рисовать TextView на холсте в android..?
Как рисовать TextView на холсте в android..?
Имеем Canvas.DrawBitmap()
, Canvas.drawText()
. У нас есть какой-либо метод в Canvas, который принимает TextView в качестве параметра или любого другого метода для отображения TextView на холсте?
На самом деле, у меня есть алфавит в TextView, и я должен сделать рисунок на том алфавите, который находится в холсте.
Прошу предложить что-нибудь.... Спасибо за сотрудничество
Ответы
Ответ 1
Вы не можете рисовать 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);
Ответ 2
Возможно, вам нужно использовать StaticLayout
. Он может нарисовать форматированный текст, управляет переносом слов и так далее. Посмотрите http://developer.android.com/reference/android/text/StaticLayout.html
Ответ 3
Вам нужно создать класс, который расширит Textview. После этого переопределите метод onDraw. Этот метод позволяет вам рисовать текстовое изображение так, как вам нравится.