Как центрировать текст по горизонтали и вертикали в 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 ?
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 в вертикальном центре родительского представления.
Источник
Как разместить текст по горизонтали и вертикали в TextView на Android?
Как TextView текст по горизонтали и вертикали в TextView на Android, чтобы он отображался точно в середине TextView ?
Я предполагаю, что вы используете XML-макет.
И как @stealthcopter прокомментировал в java: .setGravity(Gravity.CENTER);
Это сделает трюк
Вы также можете настроить его динамически, используя:
Это работает, когда используется RelativeLayout, где высота и ширина макета установлены на wrap_content.
Вы также можете использовать комбинацию:
Затем, если ширина текста больше, чем «fill_parent», текст по-прежнему будет выровнен влево (не с центром, как с гравитацией, установленной только до «центра»).
Если вы используете TableLayout, убедитесь, что гравитация TableRows также находится в центре. В противном случае это не сработает. По крайней мере, это не сработало со мной, пока я не поставил центр тяжести TableRow в центр.
Вам необходимо установить TextView Gravity (Center Horizontal & Center Vertical) следующим образом:
И динамически используя:
Есть два способа сделать это.
Первый в XML-коде. Вы должны обратить внимание на атрибут Gravity . Вы также можете найти этот атрибут в графическом редакторе; Это может быть проще, чем XML EDITOR.
Для вашего конкретного сценария значения силы тяжести будут:
В графическом редакторе вы найдете все возможные значения, даже увидите их результаты.
По моему мнению,
Который лучше, чем,
По крайней мере, для форматирования текста.
Для линейной компоновки: в XML используйте что-то вроде этого
Для этого во время выполнения используйте что-то подобное в своей деятельности
Для относительной компоновки: в XML используйте что-то вроде этого
Для этого во время выполнения используйте что-то подобное в своей деятельности
Использовать в файле XML.
Файл макета
Используйте это внутри класса Java
Используйте это для относительной компоновки
И для другого макета
При использовании гравитационных работ для TextView существует альтернативный метод, реализованный в интерфейсе API 17 –
Не знаю разницы, но он тоже работает. Однако только для уровня API 17 или выше.
В RelativeLayout ним будет хорошо.
И еще одна Button и все остальное, что вы можете добавить.
Следующие работы прекрасно для меня.
Самый простой способ (что удивительно упоминается только в комментариях, следовательно, почему я отправляю в качестве ответа):
Вы можете просто настроить gravity текста в CENTER .
Если вы пытаетесь центрировать текст в TableRow в TableLayout, вот как я достиг этого:
Вот мой ответ, который я использовал в своем приложении. Он показывает текст в центре экрана.
Если вы используете Relative Layout:
Если вы используете LinearLayout
Как многие ответы предлагают выше работает отлично.
Если вы хотите центрировать его только вертикально:
Или просто горизонтально:
Просто в вашем XML-файле установите силу тяжести textview в центр:
Высота и ширина TextView – это содержимое контуров, тогда текст внутри текстового поля всегда будет центрирован, а затем создайте центр в своем родительском макете, используя:
Для LinearLayout также код такой же:
И prog grammatically parent – это Java-код RelativeLayout, который во время выполнения использует что-то подобное в вашей деятельности
Если высота и ширина TextView’s являются wrap content тогда текст внутри TextView всегда будет центрирован. Но если ширина TextView’s равна match_parent а height – match_parent или wrap_content тогда вы должны написать приведенный ниже код:
Для RelativeLayout:
Для LinearLayout:
android:gravity=»center_horizontal» для выравнивания текста по горизонтали. android:gravity=»center_vertical» для выравнивания текста по центру вертикально. android:gravity=»center» для выравнивания текста Центр как по вертикали, так и по горизонтали.
Попробуйте этот путь, он будет работать
Используйте приведенный ниже код в xml, он работал для меня, вы можете изменить ориентацию, которая будет находиться в центре
Вы можете сделать это так, чтобы получить текст в центре
Источник