2012-05-20 2 views

ответ

1

wrap_content означает, что ширина определяется шириной виджетов, соответственно не всей ширины экрана, а только тем, как нужны виджеты.

6

Любой атрибут может быть применен к горизонтальному или вертикальному размеру вида (визуальный контроль). Он используется для установки размера View или Layouts на основе либо его содержимого, либо размера его родительского макета, а не прямого указания размера.

fill_parent

Настройка макета виджета fill_parent заставит его расширять, чтобы занять столько места, сколько доступно в пределах элемента макета он был помещен в.

Установка верхнего уровня макет или элемент управления для fill_parent заставят его заняться всем экраном.

wrap_content

Настройка размера ТОЧКА ЗРЕНИЯ к wrap_content заставит его расширить лишь настолько, чтобы содержать значение (или дочерние элементы), которые он содержит. Для элементов управления - например, текстовых полей (TextView) или изображений (ImageView) - это приведет к отображению текста или изображения. Для элементов макета он изменит размер макета, чтобы он соответствовал элементам управления/макетам, добавленным в качестве его дочерних элементов.

см. official docs для получения более подробной информации!

1

Ссылаясь на official Android documentation:

андроида: layout_width

Определяет основную ширину зрения. Это обязательный атрибут для любого вида внутри содержащего менеджера макетов. Его значение может быть размером (например, «12dip») для постоянной ширины или одной из специальных констант . Может быть значением измерения, которое представляет собой число с плавающей запятой , добавленное с помощью блока, такого как «14,5 сП». Доступными единицами являются: px (пикселей), dp (независимые от плотности пиксели), sp (масштабированные пиксели на основе предпочтительного размера шрифта), в дюймах, мм (в миллиметрах). Это также может быть ссылкой на ресурс (в форме «@ [package:] type: name») или атрибут темы (в форме «? [Package:] [type:] name»), содержащий значение этого типа. Может быть одним из следующих постоянных значений.

  • fill_parent -1 мнение должно быть столь же большим, как его родитель (минус кожухами). Эта константа устарела, начиная с уровня API 8 и заменяется match_parent.
  • match_parent -1 Вид должен быть таким же большим, как и его родительский элемент (минус заполнение). Представлен в API уровня 8.
  • wrap_content -2 Вид должен быть достаточно большим, чтобы заключить его содержимое (плюс дополнение).
0

андроид: layout_width = «wrap_content» означает, что ширина макета не определяется или фиксированной, это займет место в соответствии с ее компонентами. Предположим, что в текстовом поле у ​​вас есть только одно слово, тогда ваш textField будет занимать пространство только для слова, и тогда это займет пространство для двух слов, если у вас есть два слова в вашем текстовом поле, когда вы объявите свою ширину как wrap_content. То же самое относится и к layout_height.

2

android:layout_width="wrap_content" означает, что макет фиксирован, он расширяется вплоть до вашего размера содержимого. Если ваш контент больше, он расширяется до этого предела и такой же, как в коротком контенте. Вот пример ..

<RelativeLayout 

    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <Button 
     android:id="@+id/btnButton1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button ABC"/> 

</RelativeLayout> 

wrap_content Изображение:

image

Смежные вопросы