выровнять текстовый центр с Android - PullRequest
137 голосов
/ 07 сентября 2011

Я знаю, это звучит легко.Мне нужно поместить текст по центру, но когда текст слишком длинный, он должен идти ниже, но все равно выравниваться по центру моего xml.

Вот мой код:

 <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>

Я поставил paddingTop и Bottom, потому что мне нужно немного места.PS: мой код больше;это в RelativeLayout.

Ответы [ 6 ]

357 голосов
/ 07 сентября 2011

Установите также android:gravity параметр в TextView на center.

Для тестирования эффектов различных параметров макета я рекомендую использовать разные цвета фона для каждого элемента, чтобы вы могли видеть, как ваш макетизменяется с такими параметрами, как гравитация, layout_gravity или другие.

26 голосов
/ 07 сентября 2011

используйте этот способ

txt.setGravity(Gravity.CENTER);
18 голосов
/ 09 апреля 2015

используйте этот способ в 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"
        />
6 голосов
/ 24 мая 2012

Вы можете использовать следующее:

<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>

Макет должен быть относительным для используемого свойства "center".

4 голосов
/ 12 ноября 2015

Добавление android:gravity="center" в ваш TextView поможет (будь родительский макет Relative/Linear)!

Кроме того, вы должны избегать использования dp для размера шрифта. Вместо этого используйте sp.

3 голосов
/ 30 октября 2016

добавить layout_gravity и гравитацию со значением центра в TextView

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