Skip to content Skip to sidebar Skip to footer

How To Draw Textview On Canvas In Android..?

How to Draw TextView on Canvas in android..? We have Canvas.DrawBitmap(), Canvas.drawText(). Do we have any Method in Canvas which takes TextView as a parameter or any other method

Solution 1:

You can't draw a Textview directly, but you can put it in a layout and draw the layout. Something like this:

LinearLayoutlayout=newLinearLayout(context);

TextViewtextView=newTextView(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);

Solution 2:

May be you need to use StaticLayout. It can draw formatted text, manages word wrapping and so on. Have a look at http://developer.android.com/reference/android/text/StaticLayout.html

Solution 3:

You need to create a class which will extend Textview. After that override onDraw method. This method provides you to draw your textview tha way you like it

Post a Comment for "How To Draw Textview On Canvas In Android..?"