fill_parent
(устарело) = match_parent
Граница дочернего представления расширяется, чтобы соответствовать границе родительского представления.
wrap_content
Граница дочернего представления обтягивает свое собственное содержимое.
Вот несколько изображений, чтобы прояснить ситуацию. Зеленый и красный TextViews
. Белый LinearLayout
показывает сквозь.
Каждые View
(TextView
, ImageView
, Button
и т. Д.) Должны устанавливать width
и height
вида. В файле макета XML это может выглядеть так:
android:layout_width="wrap_content"
android:layout_height="match_parent"
Помимо установки ширины и высоты на match_parent
или wrap_content
, вы также можете установить для них некоторое абсолютное значение:
android:layout_width="100dp"
android:layout_height="200dp"
Как правило, это не так хорошо, потому что это не так гибко для устройств разных размеров. После того, как вы поняли wrap_content
и match_parent
, следующая вещь, которую нужно выучить, это layout_weight
.
Смотри также
XML для изображений выше
Вертикальная линейная планировка
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=wrap height=wrap"
android:background="#c5e1b0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=match height=wrap"
android:background="#f6c0c0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="width=match height=match"
android:background="#c5e1b0"/>
</LinearLayout>
Горизонтальная линейная планировка
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="WrapWrap"
android:background="#c5e1b0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="WrapMatch"
android:background="#f6c0c0"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="MatchMatch"
android:background="#c5e1b0"/>
</LinearLayout>
Примечание
Объяснение в этом ответе предполагает отсутствие поля или отступа . Но даже если и есть, основная концепция остается той же. Граница / интервал просмотра просто корректируется значением поля или отступа.