Разница между новичком и новичком в Android

Я задал вопросы о SO. Также проверен ответ:
Заполнение - это пространство внутри границы, между границей и фактическим содержимым. Обратите внимание, что заполнение полностью совпадает с содержимым: на верхней, нижней, правой и левой сторонах есть прокладка (которая может быть независимой).

Поля - это пробелы за пределами границы, между границей и другими элементами рядом с этим представлением. На изображении край является серой областью вне всего объекта. Обратите внимание, что, подобно заполнению, маржа полностью распространяется на содержимое: на верхней, нижней, правой и левой сторонах есть поля.

Кроме того, больше для заполнения и полей:

http://developer.android.com/reference/android/view/View.html
http://developer.android.com/reference/android/view/ViewGroup.MarginLayoutParams.html

Но какова разница между отступом и полями? Будет ли поведение отличаться в зависимости от O.S. и устройства?
У меня нормальная простая компоновка. Никаких проблем с кодом, не использовали макетные папки - макет и макет-sw600dp плюс drawables-4dpi. Не удается создать макет без полей или отступов, какой из них более подходит?

Ответ 1

Padding для внутренних/внутри компонентов. Например. TextView, Button, EditText и т.д.
Например. пространство между текстом и границей

Margin должна быть применена для внешних компонентов.
Например. пространство между левым краем экрана и границей вашего компонента

Визуальное представление великолепно в: Разница между отступами представления и полем

С Padding я увидел разницу в 2.2, 2.3 и скажем 4.3, 4.4
в таких случаях:

<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="ASDFGHJKL" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="15dp"
        android:text="@string/hello_world" />

</RelativeLayout>  

Также проверьте использование размеров:
http://developer.android.com/guide/topics/resources/more-resources.html

Ответ 2

Маржа

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

Margin

Перетяжка

Прописью элемента является горизонтальное и вертикальное пространство, которое устанавливается вокруг области содержимого целевого элемента. Таким образом, прокладка находится внутри коробки, а не снаружи.

enter image description here

Ответ 3

Простыми словами.. если вы хотите, чтобы ваш виджет, как TextView, EditText находился далеко от другого. Вы должны использовать маржу сверху, справа, слева, снизу.

Увеличивая заполнение, он увеличит внутренний интервал, не делая виджет далеко от других.

enter image description here

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

Ответ 5

Обивка внутри просмотра.

Маржа за пределами просмотра.

Эта разница может относиться к свойствам фона или размера.

образ

Ответ 6

Разница между маржами и дополнениями и примерами использования четко объясняется + Nick Butcher в Udacity видео. Здесь выдержка:

... если вы хотите, чтобы область осязаемая или фон объекта была увеличена, затем используйте padding, в противном случае используйте margin...

Ответ 7

В чем разница принципиально между заполнением и полями?

В отношении различий - Рохан Кхандвал поделился очень совершенной ссылкой.

Будет ли поведение отличаться в зависимости от O.S. и устройства?

Теперь, если мы говорим о поведении представления, которому даны разные поля и отступы. Тогда он будет определенно отличаться в разных устройствах с различными разрешениями. Вот почему нам даются разные размеры/значения/макеты, которые имеют свои значения.

Ответ 8

Разница между маркой android и дополнением заключается в том, что даже если текст - это то, сколько вы хотите от края, маржа не разнесена или не окрашена. Только текст и цвет, которые вы установили, все это "только". С дополнением, однако, текст находится далеко от края экрана точно так же, как и в поле, но при заполнении текста вдали и все пространство между текстом и краем экрана заполняется цветом или любым выбранным вами предпочтением текста быть. В этом разница между маркой android и дополнением android.

Ответ 9

Заполнение - это пространство внутри границы, между границей и фактическим содержимым. Обратите внимание, что заполнение полностью совпадает с содержимым: на верхней, нижней, правой и левой сторонах есть прокладка (которая может быть независимой).

Поля - это пробелы за пределами границы, между границей и другими элементами рядом с этим представлением. На изображении край является серой областью вне всего объекта. Обратите внимание, что, подобно заполнению, маржа полностью распространяется на содержимое: на верхней, нижней, правой и левой сторонах есть поля.

Заполнение Увеличивает размер представления, если в качестве поля нет, потому что он находится вне представления

Ответ 10

Отступы выражаются в пикселях для левой, верхней, правой и нижней частей представления. Заполнение может использоваться для смещения содержимого представления на определенное количество пикселей.

Например, левое дополнение 2 нажимает содержимое представления на 2 пикселя справа от левого края.

Заполнение может быть установлено с помощью метода setPadding(int, int, int, int) и запрошено путем вызова getPaddingLeft(), getPaddingTop(), getPaddingRight() и getPaddingBottom().

Поля - это пробелы за пределами границы, между границей и другими элементами рядом с этим представлением. Обратите внимание, что, как и прокладка, маржа полностью совпадает с контентом: на верхней, нижней, правой и левой сторонах есть поля. Маржа может быть задана с использованием метода setMargins (int left, int top, int right, int bottom).