Vraag Hoe centreer ik tekst horizontaal en verticaal in een TextView?


Hoe centreer ik de tekst horizontaal en verticaal in a TextView, zodat het precies in het midden van de TextView in Android?


1684
2018-01-11 00:27


oorsprong


antwoorden:


Ik ga ervan uit dat je de XML-indeling gebruikt.

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

Je kunt ook zwaartekracht gebruiken center_vertical of center_horizontal volgens uw behoefte.

en zoals @stealthcopter heeft opgemerkt in java: .setGravity(Gravity.CENTER);


2646
2018-01-11 01:53



android:gravity="center" 

Dit zal de slag gaan


394
2018-02-08 22:54



U kunt het ook dynamisch instellen met behulp van:

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

268
2017-11-21 12:25



android:layout_centerInParent="true"

Dit werkt bij gebruik met een RelativeLayout waarbij de hoogte en breedte van de lay-out is ingesteld op wrap_content.


97
2017-11-11 00:58



U kunt ook de combinatie gebruiken:

android:gravity="left|center"

Als de breedte van de tekstweergave groter is dan "fill_parent", wordt de tekst nog steeds uitgelijnd naar links (niet gecentreerd zoals met zwaartekracht alleen ingesteld op "midden").


68
2018-01-01 20:11



Zwaartekracht toepassen:

TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);

Voor verticaal:

txtView.setGravity(Gravity.CENTER_VERTICAL);

In XML:

<TextView      
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center"
    android:text="@string/Hello_World"        
/>

44
2018-05-30 05:34



Als u TableLayout gebruikt, zorg er dan voor dat ook de zwaartekracht van de TableRows wordt gecentreerd. Anders zal het niet werken. Het werkte in ieder geval niet met mij voordat ik de zwaartekracht van de TableRow in het midden plaatste.

Bijvoorbeeld, zoals dit:

<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">        
    <TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView>        
</TableRow>

35
2018-05-13 11:57



Je moet instellen TextView Gravity (Midden-horizontaal en midden verticaal) zoals dit:

android:layout_centerHorizontal="true"   

en

android:layout_centerVertical="true"

En dynamisch gebruik van:

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

33
2018-05-15 05:03