Как центрировать текст по горизонтали и вертикали в 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 внутри 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» в вашем линейном макете
Источник
Изменить положение текста в студии Android
Я только начал заниматься программированием в студии Android, используя Java и XML, и не могу понять, как выполнить простую задачу. У меня 3 кнопки вверху экрана, они занимают всю ширину экрана. Я хочу добавить текст под этими тремя кнопками, но сейчас не знаю, как это указать. Прямо сейчас у меня есть:
Теперь текст в текстовом элементе отображается в правой части экрана, его почти не видно. Текст становится настолько тесным, что смещается по вертикали. Что бы я сделал, если бы вместо этого хотел, чтобы текст внутри элемента textview отображался чуть ниже трех кнопок, слева по горизонтали, как обычный текст?
3 ответа
Измените положение текста в Android Studio…
RelativeLayout позволяет дочерним представлениям указывать свое положение относительно родительского представления или друг относительно друга (определяется идентификатором). Таким образом, вы можете выровнять два элемента по правой границе или расположить один под другим, по центру экрана, по центру по левому краю и так далее. По умолчанию все дочерние представления рисуются в верхнем левом углу макета, поэтому вы должны определить положение каждого представления, используя различные свойства макета, доступные в RelativeLayout.LayoutParams.
Слышу ты уходишь
Используйте что-то вроде этого. Внутри тега 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, он работал для меня, вы можете изменить ориентацию, которая будет находиться в центре
Вы можете сделать это так, чтобы получить текст в центре
Источник
TextView в центре экрана
Возможный дубликат:
Как разместить текст по горизонтали и вертикали в TextView на Android?
У меня есть RelativeLayout (раньше это был LinerLayout ), который занимает весь экран, и я хочу разместить в центре этого Layout TextView . Я пытаюсь сделать это с помощью gravity = «center» layout_gravity = «center» и еще нескольких, но это не сработает.
Кто-нибудь знает, как TextView в середине экрана?
РЕДАКТИРОВАТЬ
Хорошо, я думаю, что я объяснил это плохо. Я думаю, что TextView находится в центре, но я хочу TextView на тексте в TextView . Я могу сделать это?
Если размер шрифта достаточно велик, может показаться, что он не центрирован из-за заполнения шрифта.
Попробуйте использовать уже упомянутые свойства в сочетании с android:includeFontPadding , что-то вроде этого:
Если вы хотите выровнять содержимое RelativeLayout в центре, вам нужно установить android: gravity = «center» в свойствах RelativeLayout. Ниже приведен пример XML-кода для него, а также его визуальное представление.
Код XML:
Графический макет:
Попробуйте android:layout_centerInParent=»true» или android:layout_centerHorizontal=»true» применимы к RelativeLayout
Вы также можете установить гравитацию = «центр» своего родителя.
В качестве альтернативы, взято из другого сообщения
Это должно отображаться в центре экрана с выравниванием по центру. Если вы хотите выравнивать текст, вы можете использовать android: gravity = «right» или android: gravity = «left»
Работает только с RelativeLayouts. Поэтому постарайтесь
Атрибут для вашего TextView в файле layout_XML.
Источник