Как мне центрировать текст по горизонтали и вертикали в TextView
, чтобы он отображался точно посередине TextView
в Android
?
Как центрировать текст по горизонтали и вертикали в TextView?
Ответы (63)
Я предполагаю, что вы используете макет XML.
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/**yourtextstring**"
/>
Вы также можете использовать гравитацию center_vertical
или center_horizontal
в зависимости от ваших потребностей.
и как прокомментировал @stealthcopter в java: .setGravity(Gravity.CENTER);
android:gravity="center"
). Он по-прежнему отображается в крайнем левом углу экрана. :(
- person uSeRnAmEhAhAhAhAhA; 20.09.2013
android:layout_gravity="center"
, который делает что-то еще.
- person Rudi Kershaw; 22.12.2014
android:layout_width="wrap_content"
android:layout_height="wrap_content"
и android:gravity="center"
, это работает для меня.
- person bheatcoker; 19.03.2015
center_veritcal
и center_horizontal
.
- person Jeel Shah; 13.08.2016
match_parent
, прежде чем я смогу заставить gravity="center"
работать по вертикали в дополнение к работе по горизонтали. (потому что, если бы я оставил его как wrap-content, даже если бы контент находился в углу родительского элемента, он не «выглядел» так, как будто он был центрирован, хотя технически это было так, но высота была меньше, чем у родительского элемента)
- person jungledev; 20.02.2017
android:layout_height="match_parent"
и android:gravity="center"
. Если высота равна wrap_content, это не сработает.
- person CoolMind; 28.02.2018
android:textAlignment="center"
- person gareth; 14.11.2019
android:gravity="center"
Это поможет
Вы также можете настроить его динамически, используя:
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
android:layout_centerInParent="true"
Это работает при использовании с RelativeLayout, где высота и ширина макета установлены на wrap_content.
TextView
есть перенос слов. Текст будет полноширинным, многострочным и выровненным по левому краю в пределах TextView
. На дисплее он будет выровнен по левому краю. Вы должны использовать гравитацию, как указано в других ответах.
- person David Manpearl; 13.04.2013
Вы также можете использовать комбинацию:
android:gravity="left|center"
Затем, если ширина textview больше, чем «fill_parent», текст все равно будет выровнен по левому краю (не по центру, как с гравитацией, установленной только в «center»).
Применить гравитацию:
TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);
По вертикали:
txtView.setGravity(Gravity.CENTER_VERTICAL);
В XML:
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/Hello_World"
/>
Это можно сделать двумя способами.
Первый в XML-коде. Обратите внимание на атрибут Gravity
. Вы также можете найти этот атрибут в графическом редакторе; это может быть проще, чем РЕДАКТОР XML.
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:text="Your Text"
/>
Для вашего конкретного сценария значения силы тяжести будут:
center_vertical|center_horizontal
В графическом редакторе вы найдете все возможные значения, даже увидите их результаты.
Если вы используете TableLayout, не забудьте также установить центр тяжести TableRows. Иначе не получится. По крайней мере, у меня это не сработало, пока я не установил центр тяжести TableRow.
Например, вот так:
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">
<TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView>
</TableRow>
Вам необходимо установить TextView Gravity (по центру по горизонтали и по центру по вертикали) следующим образом:
android:layout_centerHorizontal="true"
а также
android:layout_centerVertical="true"
И динамически используя:
textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
layout_centerhorizontal
и layout_centervertical
на layout_centerHorizontal
и layout_centerVertical
(H и V на верхний регистр, иначе это не сработает).
- person yugidroid; 31.07.2012
По моему мнению,
android:gravity="center"
Это лучше чем,
android:layout_centerInParent="true"
что лучше, чем
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
хотя бы для форматирования текста.
Для линейного макета: в XML используйте что-то вроде этого
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:text="Your Text goes here"
/>
Чтобы сделать это во время выполнения, используйте что-то вроде этого в своей деятельности
TextView textView1 =(TextView)findViewById(R.id.texView1);
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Для относительного макета: в XML используйте что-то вроде этого
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:text="Your Text goes here"
/>
Чтобы сделать это во время выполнения, используйте что-то вроде этого в своей деятельности
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
Используйте в файле XML.
Файл макета
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/stringtext"/>
or:
Используйте это внутри класса Java
TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Используйте это для относительного макета
android:layout_centerInParent="true"
и для другого макета
android:gravity="center"
Если TextView's
высота и ширина wrap content
, тогда текст в TextView
всегда будет по центру. Но если ширина TextView's
равна match_parent
, а высота match_parent
или wrap_content
, тогда вам нужно написать следующий код:
Для RelativeLayout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello World" />
</RelativeLayout>
Для LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello World" />
</LinearLayout>
Хотя использование гравитации работает для TextView, на уровне API 17 реализован альтернативный метод -
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
Не знаю разницы, но тоже работает. Однако только для уровня API 17 или выше.
В RelativeLayout
с ним будет приятно.
И еще Button
и еще что угодно добавить.
Следующее хорошо работает для меня.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff314859"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/txt_logo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="your text here"
android:textSize="30dp"
android:gravity="center"/>
...other button or anything else...
</RelativeLayout>
Самый простой способ (который, на удивление, упоминается только в комментариях, поэтому я публикую в качестве ответа):
textview.setGravity(Gravity.CENTER)
Вы можете просто установить gravity
вашего текстового представления в CENTER
.
Если вы пытаетесь центрировать текст в TableRow в TableLayout, вот как я этого добился:
<TableRow android:id="@+id/rowName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip" >
<TextView android:id="@+id/lblSomeLabel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_width="0dp"
android:layout_weight="100"
android:text="Your Text Here" />
</TableRow>
Используйте 1_
<TextView
android:text="HOW WAS\nYOUR\nDAY?"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:id="@+id/textView5"
/>
Вот мой ответ, который я использовал в своем приложении. Он показывает текст в центре экрана.
<TextView
android:id="@+id/txtSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/subject"
android:layout_margin="10dp"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
Если вы используете относительный макет:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_centerInParent="true"/>
Если вы используете LinearLayout
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_gravity="center"/>
Как многие ответы предлагают выше, работает нормально.
android:gravity="center"
Если вы хотите центрировать его только по вертикали:
android:gravity="center_vertical"
или просто по горизонтали:
android:gravity="center_horizontal"
На самом деле, мы можем добиться большего, исключив fontPadding.
<TextView
android layout_height="wrap_content"
android layout_height="wrap_content"
android:includeFontPadding="false"
android:textAlignment="center"
/>
Просто в вашем XML-файле установите гравитацию текстового представления в центр:
<TextView
android:gravity="center" />
Вы можете сделать это, чтобы центрировать текст
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
Высота и ширина TextView оборачиваются содержимым, затем текст в текстовом представлении всегда центрируется, а затем центрируется в его родительском макете, используя:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Hello.."/>
</RelativeLayout>
Для LinearLayout код такой же:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello.."/>
</LinearLayout>
а программно родительский - это Java-код RelativeLayout, который во время выполнения использует что-то вроде этого в своей деятельности
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
Мы можем добиться этого несколькими способами:
XML-метод 01
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:text="@strings/text"
/>
XML-метод 02
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@strings/text"
/>
XML-метод 03
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:gravity="center"
android:text="@strings/text"
/>
XML-метод 04
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:text="@strings/text"
/>
Java-метод 01
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Java-метод 02
textview.setGravity(Gravity.CENTER);
Метод Java 03
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
TextView Gravity работает в соответствии с вашим родительским макетом.
LinearLayout:
Если вы используете LinearLayout, вы найдете два атрибута гравитации android: gravity и android: layout_gravity.
android: gravity: представляет макет внутреннего текста TextView, а android: layout_gravity: представляет позицию TextView в родительском представлении.
Если вы хотите установить текст по горизонтали и вертикали по центру, используйте следующий код
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center_horizontal"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
/>
</LinearLayout>
RelativeLayout:
Используя RelativeLayout, вы можете использовать свойство ниже в TextView
android: gravity = "center" для центра текста в TextView.
android: gravity = "center_horizontal" внутренний текст, если вы хотите горизонтально по центру.
android: gravity = "center_vertical" внутренний текст, если вы хотите вертикально по центру.
android: layout_centerInParent = "true", если вы хотите, чтобы TextView располагался по центру родительского представления. android: layout_centerHorizontal = "true", если вы хотите, чтобы TextView располагался по горизонтали в центре родительского представления. android: layout_centerVertical = "true", если вы хотите, чтобы TextView располагался по вертикали в центре родительского представления.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center"
android:layout_centerInParent="true"
android:layout_height="wrap_content"
/>
</RelativeLayout>
Попробуйте так, это сработает
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"/>
</LinearLayout>
android:gravity="center_horizontal"
для выравнивания текста по центру по горизонтали. android:gravity="center_vertical"
для выравнивания текста по центру по вертикали. android:gravity="center"
для выравнивания текста Центрировать по вертикали и горизонтали.
<TextView
android:layout_width="match_parent"
android:gravity="center_horizontal|center_vertical"
android:layout_height="match_parent" />
Я не думаю, что вам действительно нужно это сделать, просто определите свой TextView в файле макета следующим образом
<RelativeLayout
android:layout_width="width"
android:layout_height="height">
<TextView
android:id="@+id/yourid"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your text" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="wrap_content">
<TextView
android:id="@+id/failresults"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:gravity="center_vertical|center_horizontal"
android:text=""
android:textSize="12sp" />
</LinearLayout>
если у вас есть текстовое представление внутри linearlayout, вам нужно установить их гравитацию в центр
Установите атрибут гравитации в файле макета как android:gravity="center"
Вы пробовали этот способ?
<TextView
android:id="+@id/txtVw"
android:gravity="center"
/>
используйте приведенный ниже код в xml, он сработал для меня, вы можете изменить ориентацию, которую он будет в центре
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="@color/colorPrimaryDark"
android:gravity="center"
android:layout_height="wrap_content">
<TextView
android:id="@+id/id_text"
android:layout_width="wrap_content"
android:textSize="18sp"
android:textColor="@android:color/white"
android:textStyle="normal"
android:layout_height="wrap_content"
android:text="centre me"/>
</LinearLayout>
Используйте android:gravity="center"
, чтобы решить вашу проблему.
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="In the center"/>
Выше необходимо установить его с помощью файла .xml.
но я предпочитаю версию java, потому что при необходимости вы также можете отключить ее в коде в рабочем состоянии. Ниже приведен код Java.
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Если вы задаете ширину и высоту текстового представления, чтобы обернуть контент, вам нужно управлять его положением с помощью силы тяжести макета в соответствии с поддерживаемыми родительскими атрибутами. Остальное можно сделать.
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"/>
Если вы работаете с RelativeLayout
, попробуйте использовать это свойство внутри тега TextView
:
android:layout_centerInParent= true
попробуй это :
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
/>
Я добавил фрагмент xml, чтобы центр текстового просмотра был согласован как с линейным, так и с относительным макетом.
В линейном макете
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text In Center"
android:layout_gravity="center"
android:gravity="center"/>
В относительном макете
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text In Center"
android:layout_centerInParent= true/>
Скажем, полный текст на экране
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello World!"
android:gravity="center"
/>
Допустим, Textview (неполное) в относительном макете
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_centerInParent=true
/>
Допустим, Textview (не полный) в Linear_layout
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_gravity="centre"
/>
Через .xml
файл гравитации можно установить по центру следующим образом
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="In the center"
/>
Через java вы можете решить свою конкретную проблему.
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Вы можете установить гравитацию по центру по вертикали и выравнивание текста по центру.
<TextView
android:text="@string/yourText"
android layout_height="wrap_content"
android layout_height="wrap_content"
android:gravity="center_vertical"
android:textAlignment="center" />
Вы должны установить Gravity следующим образом:
(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Попробуй это:
Использование LinearLayout, если вы используете высоту и ширину textview match_parent. Вы можете установить текст гравитации по центру и выравнивание текста по центру текста по горизонтали, если вы используете высоту и ширину textview wrap_content, тогда добавьте атрибут центра тяжести в свой LinearLayout.
Код XML
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center"
android:gravity="center"
android:textColor="#000"
android:textSize="30sp"
android:text="Welcome to Android" />
</LinearLayout>
Код Java
Вы можете программно сделать вот так: -
(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Спасибо
Для котлина:
Если вы хотите центрировать свой TextView
из кода:
textView.gravity = Gravity.CENTER
Если вы хотите horizontally
центрировать:
textView.gravity = Gravity.CENTER_HORIZONTAL
Или vertically
центр:
textView.gravity = Gravity.CENTER_VERTICAL
Благодарность за запоздалый графический интерфейс
Я хотел добавить немного ценности этой и без того фантастической теме. И, наконец, по прошествии 11 лет у нас появился способ перетащить TextView из панели инструментов и выбрать гравитацию в окне свойств графического интерфейса. И, к счастью, графический интерфейс сочетает свойства в сжатой форме как center_vertical | center_horizontal.
<TextView
android:text="This is my sample text."
android:layout_width="match_parent"
android:layout_height="35.7dp"
android:id="@+id/textView2"
android:layout_marginBottom="24.7dp"
android:typeface="sans"
android:textSize="20"
android:gravity="center_vertical|center_horizontal" />
И для тех, кто задается вопросом, как центрировать его по вертикали в элементе TextView, сохраняя при этом слева (по горизонтали):
android:gravity="center"
android:textAlignment="viewStart"
Вы можете центрировать текстовое представление с помощью android: gravity = "center"
Код выглядит следующим образом
<TextView
android:text="@string/yourText"
android layout_height="wrap_content"
android layout_height="wrap_content"
android:gravity="center" />
Если этот TextView не имеет атрибутов высоты / ширины, установленных на wrap_content
, просто используйте android:gravity="center"
. Но некоторые люди жалуются, что это не работает. Это потому, что их расположение не имеет такой же тяжести. Вы можете установить
android:layout_gravity="center"
В ТЕКСТЕВИЕ (это применимо только к TextView)
or
android:gravity="center"
В ПЛАНЕ РОДИТЕЛЯ (это будет применяться ко всем видам внутри него)
Как центрировать представление или его содержимое, например TextView или Button по горизонтали и вертикали? layout_gravity можно использовать для размещения представления в центре его родителя. В то время как атрибут гравитации используется для позиционирования содержимого представления, например «Текст» в центре обзора.
(1) Центрировать TextView по горизонтали
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="10dp"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_gravity="center"
android:background="#333"
android:textColor="#fff"
/>
</LinearLayout>
(2) Центрировать TextView по вертикали
android: layout_gravity = ”center_vertical” доза не работает !!
Чтобы центрировать TextView по вертикали, вам нужно сделать хитрость. Поместите TextView в RelativeLayout, затем установите атрибут TextView android: layout_centerInParent = ”true”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="10dp"
tools:context=".MainActivity" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_centerInParent="true"
android:layout_gravity="center_vertical"
android:gravity="center"
android:background="#333"
android:textColor="#fff"
/>
</RelativeLayout>
(3) Центрировать текст по горизонтали
android: gravity = "center_horizontal"
(4) Центрировать текст по горизонтали и вертикали
android: gravity = "center" это центрирует текст по горизонтали и вертикали.
<TextView android:layout_width="fill_parent" android:layout_height="100dp" android:text="Hello World!" android:gravity="center" android:background="#333" android:textColor="#fff" />
В ConstraintLayout для любого представления:
(Когда вы используете макет ограничения, установите для высоты и ширины значение 0 и позвольте ограничению управлять границами просмотра.)
<View
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Используйте свойство Gravity в TextView, чтобы центрировать текст по вертикали и горизонтали.
android:gravity="center"
используйте android: gravity = "center" для родительского
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:gravity="center"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello world"
/>
</LinearLayout>
Вот решение.
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="**Your String Value**" />
Для этого можно изменитьandroid:gravity
.
android:gravity="center"
or
если вы хотите центрировать по горизонтали или вертикали
android:gravity="center_horizontal"
android:gravity="center_vertical"
Вы можете сделать это программно в java с помощью: textview.setGravity (Gravity.CENTER);
Попробуй это:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
Если у вас есть только один TextView в вашем XML-файле, вы можете сделать родительский вид гравитации в качестве центра. Это сделает ваш дочерний элемент в центре экрана, а затем вы сможете сделать свой дочерний элемент оберткой как по высоте, так и по ширине.
Ширина и высота Textview должны быть match_parent и добавить android: gravity = "center" в атрибуты textview.
android:gravity="centre"
Это поможет вам центрировать текстовое изображение.