Он называется источником.
В общем случае здесь представлены разные части URL-адреса в соответствии с window.location
. (Так, по крайней мере, в соответствии с тем, как Javascript называет это)
protocol://username:password@hostname:port/pathname?search#hash
-----------------------------href------------------------------
-----host----
----------- origin -------------
protocol
- схема протокола URL, включая финальную ':' hostname
- доменное имя port
- номер порта pathname
- /pathname
search
- ?parameters
hash
- #fragment_identifier
username
- имя пользователя, указанное перед доменным именем password
- пароль, указанный перед доменным именем href
- весь URL origin
- protocol://hostname:port
host
- hostname:port
Формальное определение находится в секции RFC 6454.
Вам необходимо установить TextView Gravity (по центру по горизонтали и по центру по вертикали) следующим образом:
android:layout_centerHorizontal="true"
и
android:layout_centerVertical="true"
И динамически, используя:
textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
По моему мнению,
android:gravity="center"
лучше, чем
android:layout_centerInParent="true"
, что лучше, чем
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
, по крайней мере, для форматирования текста.
Использовать в файле XML.
Файл макета
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/stringtext"/>
или:
Используйте это внутри класса Java
TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Используйте это для относительного расположения
android:layout_centerInParent="true"
и для другого расположения
android:gravity="center"
Хотя использование гравитации работает для TextView, есть альтернативный метод, реализованный на уровне API 17 -
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
Не знаю разницы, но он тоже работает. Однако только для уровня API 17 или выше.
Если высота и ширина 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>
Мы можем достичь этого несколькими способами: -
Метод 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);
В 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>
Вы можете просто установить 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>
Вот мой ответ, который я использовал в своем приложении. Он показывает текст в центре экрана.
<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"
Просто в своем XML-файле установите гравитацию textview в центр:
<TextView
android:gravity="center" />
Вы можете сделать это, чтобы центрировать текст
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
Самый простой способ (который удивительно упоминается только в комментариях, поэтому я и публикую в качестве ответа) это:
textview.setGravity(Gravity.CENTER)
Высота и ширина TextView являются содержимым переноса, затем текст в пределах 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);
Гравитация TextView работает в соответствии с макетом вашего родителя.
LinearLayout :
Если вы используете LinearLayout, вы найдете два атрибута гравитации android: gravity & amp; android: layout_gravity
android: gravity: представляет зелье макета внутреннего текста TextView, тогда как android: layout_gravity: представляет позицию TextView в родительском представлении.
Если вы хотите установить текст по горизонтали & amp; вертикально по центру, затем используйте код ниже
<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 = " центр "для текстового центра в 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 располагался вертикально в центре родительского представления.
<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>
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" />
Попробуйте, это будет работать
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal|center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center" />
</LinearLayout>
используйте приведенный ниже код в 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>
Я не думаю, что вам действительно нужно сделать это, просто определите ваш 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>
Допустим, Full Textview на экране
<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"
/>