Вертикальный центр TextView

Проблема вертикального центра просмотра текста Andriod

Вертикальный центр TextView

Мой код

<TextView
       android:layout_width = "wrap_content"
       android:layout_height = "wrap_content"
       android:layout_marginLeft = "10dp"
       android:fontFamily = "@font/googlesansbold"
       android:text = "Tance"
       android:lineHeight = "1dp"
       android:gravity = "center_vertical"
       android:textColor = "@android:color/white" />
2
0
112
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вместо

android:gravity = "center_vertical"

Попробуйте использовать

android:layout_gravity = "center_vertical"

Вам необходимо опубликовать свой код для файла xml. так что мы можем иметь некоторое представление. Пожалуйста, опубликуйте код файла xml.

Rumit Patel 14.11.2018 14:40

вот xml файл drive.google.com/open?id=1V2HBf-pz093xQfVu4HKCiqzfbXp971FR

Thomas 14.11.2018 15:04

Поскольку родительский макет - это LinearLayout с горизонтальной ориентацией
а размер TextView - wrap_content,
используйте этот атрибут для макета родитель и нет для TextView:

android:gravity = "center_vertical"

вот xml файл drive.google.com/open?id=1V2HBf-pz093xQfVu4HKCiqzfbXp971FR

Thomas 15.11.2018 05:43

@Thomas Я видел макет, и с этим атрибутом TextView является центрирован

forpas 15.11.2018 07:05

@Thomas вам не нужен android:gravity = "center_vertical" внутри TextView, только в LinearLayout

forpas 15.11.2018 07:06

@ Томас не android:gravity = "center|center_vertical", только android:gravity = "center_vertical"

forpas 15.11.2018 09:49
Ответ принят как подходящий

Проблема в том, что у каждого шрифта есть дополнительный отступ. Вы не можете легко удалить эту набивку.

Вы можете написать собственный TextView, который расширяет AppCompatTextView и переопределяет onDraw. Самый простой способ - использовать этот textView.

С использованием:

Вам необходимо жестко указать атрибут android: height = "dp" по своему усмотрению.

<NoPaddingTextView
    android:layout_marginTop = "18dp"
    android:background = "#c1c1c1"
    android:height = "16dp"
    android:includeFontPadding = "false"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:gravity = "center_vertical"
    android:lineHeight = "1dp"
    android:text = "Tance"/>

Другие вопросы по теме