Android выровнять textview по центру

Как центрировать textview внутри linearlayout

У меня есть следующий макет, который я хотел бы сделать textview в центре и середине представления. Как я могу достичь этого?

Я попытался настроить различные атрибуты гравитации при просмотре макета в графическом представлении, но ничего не изменилось. Я хотел бы textview в центре, который я сделал, но на полпути вниз.

10 ответов

установите гравитацию в центр в теге linearLayout:

или использовать RelativeLayout такой :

Set android:gravity=»center» в линейной компоновке и сохранить высоту и ширину текстового представления как wrap_content .

это решение сработало для меня.

попробуй такое

просто я пытался много ответов, но все ответы не работают . наконец, эти методы работают для меня

добавить android:gravity=»center_horizontal» на LinearLayout и изменить свой TextView ‘ s layout_width as android:layout_width=»wrap_content»

установите ширину вашего textview в wrap_content вашего textview и установите LinearLayout в android:gravity=center_horizontal

звучит так, как будто вы хотите android:layout_gravity для TextView

Если в linearlayout ваша ориентация по вертикали, вы можете поместить textview в «горизонтальный центр» по android:layout_gravity=»center» . Для центрирования textview по вертикали вам нужно установить layout_height textview в match_parent и установить android: gravity в «центр». Если вы хотите использовать более одного представления в этом макете, вы должны использовать RelativeLayout и set android:layout_centerInParent=»true» .

используйте относительный макет, он всегда дает более точный и гибкий макет

set android:gravity=»center» в вашем линейном макете

Источник

Как центрировать текст по горизонтали и вертикали в TextView?

Как отцентрировать текст по горизонтали и вертикали в a TextView , чтобы он отображался точно по центру TextView in Android ?

Я предполагаю, что вы используете макет XML.

Вы также можете использовать гравитацию center_vertical или в center_horizontal соответствии с вашими потребностями.

и как @stealthcopter прокомментировал в Java: .setGravity(Gravity.CENTER);

Это сделает свое дело

Вы также можете настроить его динамически, используя:

Это работает при использовании с RelativeLayout, где высота и ширина макета установлены на wrap_content.

Вы также можете использовать комбинацию:

Затем, если ширина textview больше, чем «fill_parent», текст все равно будет выровнен по левому краю (не по центру, так как гравитация установлена ​​только на «center»).

Есть два способа сделать это.

Первый в коде XML. Вам нужно обратить внимание на Gravity Атрибут. Вы также можете найти этот атрибут в графическом редакторе; это может быть проще, чем редактор XML.

Для вашего конкретного сценария значения гравитации будут:

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

Если вы используете TableLayout, не забудьте также установить центр тяжести TableRows. В противном случае это не будет работать. По крайней мере, это не работало со мной, пока я не установил гравитацию TableRow в центр.

Например, вот так:

Вам нужно установить TextView Gravity (Center Horizontal и Center Vertical) следующим образом:

И динамически используя:

По моему мнению,

по крайней мере для форматирования текста.

Читайте также:  Взлом фай фая с андроида

Для линейного макета: в XML используйте что-то вроде этого

Чтобы сделать это во время выполнения, используйте что-то подобное в своей деятельности

Для Относительного расположения: в XML используйте что-то вроде этого

Чтобы сделать это во время выполнения, используйте что-то подобное в своей деятельности

Используйте в файле XML.

Файл макета

Используйте это внутри класса Java

Используйте это для относительного расположения

и для другого макета

Если TextView’s высота и ширина — wrap content то текст внутри TextView всегда будет в центре. Но если TextView’s ширина равна, match_parent а высота равна match_parent или равна, wrap_content вы должны написать следующий код:

Для RelativeLayout:

Для LinearLayout:

Хотя использование гравитации работает для TextView, есть альтернативный метод, реализованный на уровне API 17 —

Не знаю разницы, но это тоже работает. Однако только для уровня API 17 или выше.

Во RelativeLayout , будет приятно с этим.

И еще, Button и все, что вы можете добавить.

Следующее работает хорошо для меня.

Самый простой способ (который удивительно упоминается только в комментариях, поэтому я и публикую в качестве ответа) это:

Вы можете просто установить gravity свой текстовое представление в CENTER .

Если вы пытаетесь центрировать текст на TableRow в TableLayout, вот как я этого добился:

Вот мой ответ, который я использовал в своем приложении. Он показывает текст в центре экрана.

Если вы используете Относительный макет:

Если вы используете LinearLayout

Как и многие ответы предлагают выше работает нормально.

Если вы хотите отцентрировать его по вертикали:

или только горизонтально:

Просто в своем XML-файле установите гравитацию textview по центру:

Вы можете сделать это, чтобы центрировать текст

Высота и ширина TextView — это содержимое переноса, затем текст в пределах textview всегда центрируется, а затем делается по центру в его родительском макете с помощью:

Для LinearLayout также код такой же:

и программно родительским является Java-код RelativeLayout, это во время выполнения использовать что-то подобное в вашей деятельности

Мы можем достичь этого несколькими способами:

TextView гравитация работает в соответствии с вашим родительским макетом.

LinearLayout :

Если вы используете LinearLayout, то вы найдете два гравитационных атрибута android: gravity & android: layout_gravity

android: gravity: представляет зелье макета внутреннего текста TextView, а android: layout_gravity: представляет позицию TextView в родительском представлении.

Если вы хотите установить текст горизонтально и вертикально по центру, используйте приведенный ниже код

RelativeLayout :

Используя RelativeLayout вы можете использовать свойство ниже в TextView

android: gravity = «center» для текстового центра в TextView.

android: gravity = «center_horizontal» внутренний текст, если вы хотите горизонтально центрировать.

android: gravity = «center_vertical» внутренний текст, если вы хотите по центру.

android: layout_centerInParent = «true», если вы хотите, чтобы TextView находился в центральной позиции родительского представления. android: layout_centerHor horizontal = «true», если вы хотите, чтобы TextView находился в горизонтальном центре родительского представления. android: layout_centerVertical = «true», если вы хотите, чтобы TextView располагался вертикально в центре родительского представления.

Источник

Как центрировать текст по горизонтали и вертикали в TextView?

как отцентрировать текст по горизонтали и вертикали в TextView , Так что он появляется ровно в середине TextView на Android ?

Читайте также:  Патч android проверка подписи всегда верна

30 ответов

Я предполагаю, что вы используете XML-макета.

вы также можете использовать гравитацию center_vertical или center_horizontal согласно вашей потребности.

и как прокомментировал @stealthcopter на java: .setGravity(Gravity.CENTER);

это сделает трюк

вы также можете настроить его динамически, используя:

это работает при использовании с RelativeLayout, где высота и ширина макета установлены в wrap_content.

вы также можете использовать комбинацию:

тогда, если ширина textview больше, чем» fill_parent», текст все равно будет выровнен влево (не центрирован, как при гравитации, установленной только в»центр»).

применить силы тяжести:

Если вы используете TableLayout, обязательно установите гравитацию TableRows в центр. Иначе не получится. По крайней мере, это не сработало со мной, пока я не установила гравитацию стола в центр.

например, вот так:

необходимо указать Гравитация TextView (центр горизонтальный и Центр вертикальный), как это:

и динамично, используя:

есть два способа сделать это.

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

для вашего конкретного сценария, значения силы тяжести будут:

в графическом редакторе вы найдете все возможные значения, даже увидеть их результаты.

по крайней мере для форматирования текста.

Для Линейной Компоновки: В XML используйте что-то вроде этого

чтобы сделать это во время выполнения, используйте что-то вроде этого в своей деятельности

для относительного макета: в XML используйте что-то вроде этого

чтобы сделать это во время выполнения, используйте что-то вроде этого в своей деятельности

использовать в XML-файле.

шаблон

используйте это внутри класса Java

использовать относительный макет

и для другого макета

при использовании gravity works для TextView существует альтернативный метод, реализованный на уровне API 17 —

Не знаю разницы, но это тоже работает. Однако только для уровня API 17 или выше.

на RelativeLayout , это будет хорошо с ним.

и еще один Button и все остальное, что вы можете добавить.

следующее прекрасно работает для меня.

если TextView’s высота и ширина wrap content текст в теге TextView всегда быть в центре. Но если TextView’s ширина match_parent и высотой match_parent или wrap_content тогда вы должны написать следующий код:

на RelativeLayout:

на LinearLayout:

самый простой способ (который удивительно упоминается только в комментариях, поэтому я публикую в качестве ответа):

Вы можете просто установить gravity вашего textview в CENTER .

Если вы пытаетесь центрировать текст на TableRow в TableLayout, вот как я этого достиг:

вот мой ответ, который я использовал в моем приложении. Он показывает текст в центре экрана.

Если вы используете относительный макет:

Если вы используете LinearLayout

как многие ответы предлагают выше, работает нормально.

Если вы хотите центрировать его только по вертикали:

или просто по горизонтали:

просто в вашем XML-файле установите гравитацию textview в центр:

высота и ширина TextView-это содержимое обертки, тогда текст в textview всегда центрируется, а затем делает центр в Родительском макете с помощью:

для LinearLayout также код такой же:

и Pro-грамматически родитель является RelativeLayout java-код это во время выполнения использовать что-то вроде этого в вашей деятельности

вы можете сделать так, чтобы получить текст по центру

Читайте также:  Иконки для папок для андроид

мы можем достичь этого с помощью этих нескольких способов: —

android:gravity=»center_horizontal» для выравнивания текстового Центра по горизонтали. android:gravity=»center_vertical» для выравнивания текстового Центра по вертикали. android:gravity=»center» для выравнивания текстового Центра по вертикали и горизонтали.

попробуйте этот путь, он будет работать

используйте приведенный ниже код в xml, он работал для меня, вы можете изменить ориентацию, которая будет в центре

TextView gravity работает в соответствии с вашим родительским макетом.

LinearLayout:

Если вы используете LinearLayout, вы найдете два атрибута гравитации android: гравитация и android: layout_gravity

android: gravity: представляет макет зелья внутреннего текста TextView в то время как android: layout_gravity: представляет позицию TextView в Родительском представлении.

Если вы хотите установить текст по горизонтали & вертикально центр затем используйте ниже код это

RelativeLayout:

используя RelativeLayout вы можете использовать свойство ниже в TextView

android: gravity= «центр» для текстового центра в TextView.

android: gravity= «center_horizontal» внутренний текст, если вы хотите горизонтально по центру.

android: gravity= «center_vertical» внутренний текст, если вы хотите вертикально по центру.

android: layout_centerInParent= » true» если вы хотите TextView в центральной позиции родительского представления. android: layout_centerHorizontal= «true», если вы хотите TextView в горизонтальном центре родительского представления. android: layout_centerVertical= «true», если вы хотите TextView в вертикальном центре родительского представления.

Источник

как выровнять текст по вертикали по центру в android

У меня арабский текст, поэтому я установил гравитацию вправо, чтобы текст начинался с правой стороны. Текст начинается прямо сейчас. Но другая проблема заключается в том, что текст начинает отображаться сверху страницы. Но мне нужно вертикально центрировать текст. Хотя я пробовал несколько вариантов, у меня не получалось сделать его вертикально по центру.

Вот образец моего файла xml.

Проблема с текстовым изображением выше.

Сюда я поместил весь xml файл.

Кто-нибудь может показать мне, где я сделал ошибку? Думаю, проблема ясна. Если нет, скажите в комментариях.

Я добавил обновленный код после просмотра ваших ответов.

Но я в такой же ситуации. Нет текста по центру по вертикали

5 ответов

Атрибуты TextView должны быть примерно такими:

Теперь опишите, почему это нужно сделать,

Делает ваш TextView на match_parent или fill_parent , если вы не хотите, чтобы он был похож на match_parent , вы должны указать определенные значения для layout_height , чтобы он получил место для вертикального центр тяжести. android:layout_width=»match_parent» необходимо, потому что он выравнивает ваш TextView по правой стороне, чтобы вы могли признать уважение к родительскому макету TextView.

Теперь о android:gravity , который выравнивает содержимое вашего TextView. android:layout_gravity обеспечивает выравнивание TextView в соответствии с его родительским макетом.

Обновление:

Как показано в комментарии ниже, используйте fill_parent вместо match_parent . (Проблема в каком-то устройстве.)

В относительной компоновке необходимо указать высоту текстового поля:

Или укажите атрибут строк:

Попробуйте поместить android:gravity=»center_vertical|right» внутри родительского LinearLayout, иначе, поскольку вы внутри RelativeLayout, вы можете поместить android:layout_centerInParent=»true» в свой scrollView .

Проблема заключается в заполнении шрифта в текстовом виде. Просто добавьте в текстовое представление:

Просто используйте это, чтобы сделать что-нибудь в центре

Обновлено: просто удалите MarginBottom из текстового представления .. Сделайте это так .. для вашего textView

Источник

Оцените статью