Skip to main content

How do I center text horizontally and vertically in a TextView on Android?

1.How do I center the text horizontally and vertically in a TextView in Android, so that it appears exactly in the middle of the TextView?

  A1.    I'm assuming you're using XML layout.

      <TextView       android:layout_width="match_parent"       android:layout_height="match_parent"       android:gravity="center"       android:text="@string/**yourtextstring**"       />

     and
           in java: .setGravity(Gravity.CENTER);



A2.     In xml

           android:gravity="center"

                                 or
         android:layout_centerInParent="true"

A3. In java


         textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

A4. For Linear Layout: 

       In XML use something like this

        <TextView     android:id="@+id/textView1"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:gravity="center_vertical|center_horizontal"     android:text="Your Text goes here"    />

  To do this at run time use something like this in your activity

       TextView textView1 =(TextView)findViewById(R.id.texView1);

    textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

For Relative Layout:

       in XML use some thing like this

             <TextView
         android:id="@+id/textView1"
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:layout_centerInParent="true"
         android:text="Your Text goes here"
        />

    

  To do this at run time use something like this in your activity

              TextView textView1 =(TextView)findViewById(R.id.texView1);
        RelativeLayout.LayoutParams layoutParams =
                           RelativeLayout.LayoutParams)textView1.getLayoutParams();
        layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
        textView1.setLayoutParams(layoutParams);

A5. in Xml 


android:gravity="center"
is better than,

android:layout_centerInParent="true"
which is better than,

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"


Comments

Popular posts from this blog

Reset Android textview maxlines ?

Reset Android textview maxlines  ? A1.         Actually, the way android platform does that is by setting the MaxLine to                                            Integer.MAX_VALUE. textView . setMaxLines ( Integer . MAX_VALUE );        also, if you are using Ellipsize, don't forget to set to null. textView . setEllipsize ( null );       just check how the android framework do just that ;) watch the                                                              setMaxLines(Integer.MAX_VALUE); private void applySingleLine ( boolean singleLine , boolean applyTransformation ) { mSingleLine = singleLine ; if ( singleLine ) { ...

Android set the gravity for a TextView programmatically

Android set the gravity for a TextView programmatically  A1.        This will center the text in a text view: TextView ta = ( TextView ) findViewById ( R . layout . text_view ); LayoutParams lp = new LayoutParams (); lp . gravity = Gravity . CENTER_HORIZONTAL ; ta . setLayoutParams ( lp ); A2.      textView . setGravity ( Gravity . CENTER | Gravity . BOTTOM ); A3.              Use this code TextView textView = new TextView ( YourActivity . this ); textView . setGravity ( Gravity . CENTER | Gravity . TOP ); textView . setText ( "some text

Android and   in TextView ?

Android and &nbsp; in TextView ? A1.            The TextView should respect the non breaking space <string name = "test" > Hello&#160;world </string>                                     or new TextView ( "Hello\u00A0world" ); A2.      One unique situation I ran into was adding a non-breaking space to a string resource that took               String.format parameters. <resources> <string name = "answer_progress" formatted = "false" > Answered %d of %d </string> </resources>       I tried to simply copy and past the non-breaking space character into the string and it was                     replaced       with a regular old space after compilin...