Android: установка размеров диалога (что означает «fill_parent»?) - PullRequest
3 голосов
/ 08 ноября 2010

Руководство разработчика Android по Создание настраиваемого диалога указывает макет, который начинается:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/layout_root"
          android:orientation="horizontal"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:padding="10dp"
          >

Если я использую этот код, я получаю диалоговое окно, которое находится в центре экранас каждой стороны видно около 40 пикселей нижележащего вида.

Что именно означает "fill_parent" (для ширины и высоты)?

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

В ответ Октавиану Дамиану я написал приложение, следуя коду, указанному в Создание пользовательского диалога . Я поместил указанный Java-код в пустой метод onCreate приложения (после super.onCreate (...) и setContentView (...). Для того, чтобы он запустился, я изменил Java-код, где он говорит "Context mContext = getApplicationContext (); "to" Context mContext = this; "и в конце я добавил строку" dialog.show (); "для отображения диалогового окна.

Полученный экран выглядит следующим образом:

this

Хотя для fill_parent заданы как высота, так и ширина, ширина немного меньше ширины экрана, а высота намного меньше высоты экрана.

Я не думаю, что заполнение работает так, как вы предлагаете. Изменение его с 10dip на 0dip не делает заметных различий (между краем экрана и краем диалога все еще остается зазор). Изменение его на 100 dip приводит к следующему:

alt text

Я думаю, что отступы влияют на расстояние между объектами в представлении, а не на расстояние внутри его родительского элемента.

0 голосов
/ 08 ноября 2010

Это на самом деле означает то, что говорит. Он заполняет все пространство своего родительского контейнера. В этом случае минус 10dip на каждой стороне (то есть слева, сверху, справа, снизу) из-за атрибута заполнения. Если он будет установлен на wrap_content, он будет занимать столько же места, сколько необходимо для отображения его содержимого.

Дополнительная информация о fill_parent и о ViewGroup.LayoutParams .

...