tekstcentrum uitlijnen met Android

Ik weet dat het makkelijk klinkt. Ik moet een tekst in het midden plaatsen, maar als de tekst te lang is, moet deze naar beneden gaan, maar nog steeds uitgelijnd worden in het midden van mijn XML.

Hier is mijn code:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

Ik heb paddingTop en Bottom geplaatst omdat ik wat ruimte nodig heb.
PS: Mijn code is groter; het staat in een relatieve lay-out.


Antwoord 1, autoriteit 100%

Stel ook de parameter android:gravityin TextViewin op center.

Voor het testen van de effecten van verschillende lay-outparameters raad ik aan om voor elk element een andere achtergrondkleur te gebruiken, zodat je kunt zien hoe je lay-out verandert met parameters zoals zwaartekracht, lay-out_zwaartekracht of andere.


Antwoord 2, autoriteit 7%

op deze manier gebruiken

txt.setGravity(Gravity.CENTER);

Antwoord 3, autoriteit 6%

op deze manier gebruiken in xml

  <TextView
        android:id="@+id/myText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Time is precious, so love now."
        android:gravity="center"
        android:textSize="30dp"
        android:textColor="#fff"
        />

Antwoord 4, autoriteit 2%

U kunt het volgende gebruiken:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">
 <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Your text"
        android:typeface="serif" />
</LinearLayout>

De lay-out moet relatief zijn om de eigenschap “midden” te kunnen gebruiken.


Antwoord 5

Het toevoegen van android:gravity="center"in uw TextView zal het lukken (ofwel de bovenliggende lay-out is Relative/Linear)!

U moet ook vermijden om dp te gebruiken voor lettergrootte. Gebruik in plaats daarvan sp.


Antwoord 6

Voeg deze 2 regels toe;

android:gravity="center_horizontal"
android:textAlignment="center"

Antwoord 7

lay-out_zwaartekracht en zwaartekracht toevoegen met centrumwaarde op TextView

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />

Antwoord 8

android:layout_gravity="center"

of

android:gravity="center"

beide werken voor mij.


Antwoord 9

Of bekijk dit eens, dit zal helpen om alle elementen in één keer uit te lijnen.

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_gravity="center"
    android:gravity="center_horizontal"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

Other episodes