Выравнивать текстовый центр с помощью android

Я знаю, это звучит просто. Мне нужно поместить текст в центр, но когда текст слишком длинный, ему нужно пойти ниже, но все же выровнять по центру моего 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.

+113
06 сент. '11 в 21:04
источник поделиться
6 ответов

Задайте также параметр android:gravity в TextView - center.

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

+304
06 сент. '11 в 21:08
источник

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

txt.setGravity(Gravity.CENTER);
+21
07 сент. '11 в 4:21
источник

используйте этот способ в 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"
        />
+14
09 апр. '15 в 6:07
источник

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

<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
23 мая '12 в 21:14
источник

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

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

+4
12 нояб. '15 в 9:47
источник

добавить layout_gravity и gravity с центральным значением в TextView

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />
+1
30 окт. '16 в 7:22
источник

Посмотрите другие вопросы по меткам или Задайте вопрос