Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can you display upside down text with a textview in Android?

How can you display upside down text with a textview in Android?

In my case I have a 2 player game, where they play across from each other. I want to display test to the second player oriented to them.


This was the solution I implemented after AaronMs advice

The class that does the overriding, bab.foo.UpsideDownText

package bab.foo;  import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import android.widget.TextView;  public class UpsideDownText extends TextView {      //The below two constructors appear to be required     public UpsideDownText(Context context) {         super(context);     }      public UpsideDownText(Context context, AttributeSet attrs)     {         super(context, attrs);     }      @Override     public void onDraw(Canvas canvas) {         //This saves off the matrix that the canvas applies to draws, so it can be restored later.          canvas.save();           //now we change the matrix         //We need to rotate around the center of our text         //Otherwise it rotates around the origin, and that's bad.          float py = this.getHeight()/2.0f;         float px = this.getWidth()/2.0f;         canvas.rotate(180, px, py);           //draw the text with the matrix applied.          super.onDraw(canvas);           //restore the old matrix.          canvas.restore();      } } 

And this is my XML layout:

<bab.foo.UpsideDownText      android:text="Score: 0"      android:id="@+id/tvScore"      android:layout_width="wrap_content"      android:layout_height="wrap_content"     android:textColor="#FFFFFF"      > </bab.foo.UpsideDownText> 
like image 487
Ravedave Avatar asked Apr 01 '10 05:04

Ravedave


1 Answers

in the xml file add:

android:rotation = "180" 

in the respective element to display text upside down.

for example:

<TextView        android:id="@+id/textView1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:gravity="center"        android:text="TextView"         android:rotation="180"/> 
like image 182
Narayanan Ramanathan Avatar answered Sep 22 '22 17:09

Narayanan Ramanathan