В чем разница между гравитацией и layout_gravity в Android? - PullRequest
1255 голосов
/ 14 августа 2010

Я знаю, что мы можем установить следующие значения для свойств android:gravity и android:layout_gravity:

  1. center
  2. center_vertical
  3. center_horizontal и т. Д.

Но я запутался в отношении обоих.

В чем разница между использованием android:gravity и android:layout_gravity?

Ответы [ 20 ]

4 голосов
/ 24 июля 2014

То, что я увидел в блоге Сандипа, которое я почти пропустил, решило мою проблему. Он сказал, layout_gravity НЕ РАБОТАЕТ с LinearLayout.

Если вы используете LinearLayout и настройки гравитации сводят вас с ума (как и я), то переключитесь на что-то другое.

Я на самом деле переключился на RelativeLayout, затем использовал layout_alignParentLeft и layout_alignParentRight на 2 содержавшихся TextView с, чтобы получить их на одной линии, чтобы идти далеко влево и вправо.

4 голосов
/ 29 ноября 2016

Легко запомнить, что гравитация относится к нам внутри Земли.Таким образом, android:gravity для внутри вида.

Помните из в заложить из _gravity , что будетпоможет вам запомнить, что android:layout_gravity будет означать вне представление

2 голосов
/ 26 июля 2016

Основное различие между ними состоит в том, что -

android: gravity используется для дочерних элементов представления.

android: layout_gravity используется для этого элемента относительно родительского представления.

2 голосов
/ 10 мая 2015

android:gravity используется для указания того, как поместить содержимое объекта в сам объект. Другими словами, android: gravity используется для указания серьезности содержимого представления.

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

Для более подробной информации вы можете посетить

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

2 голосов
/ 30 апреля 2018

Гравитация: Позволяет перемещать содержимое внутри контейнера. (Как будут размещены подвиды).

Важно: (ПЕРЕМЕСТИТЬ вдоль оси X или оси Y в пределах доступного пространства).

Пример: Допустим, если вы работали с LinearLayout (Height: match_parent, Width: match_parent) в качестве элемента корневого уровня, то у вас будет полное доступное пространство кадра; и дочерние представления говорят, что 2 TextViews (Height: wrap_content, Width: wrap_content) внутри LinearLayout можно перемещать по оси x / y, используя соответствующие значения для гравитации на родителе.

Layout_Gravity: Позволяет переопределить поведение родительской гравитации ТОЛЬКО вдоль оси x.

Важно: (ПЕРЕМЕСТИТЬ [переопределить] вдоль оси X в пределах доступного пространства).

Пример: Если вы помните предыдущий пример, мы знаем, что гравитация позволила нам двигаться вдоль оси x / y, т.е. место TextViews внутри LinearLayout. Скажем так, LinearLayout определяет гравитацию: центр; Это означает, что каждый TextView должен быть в центре как вертикально, так и горизонтально. Теперь, если мы хотим, чтобы один из TextView двигался влево / вправо, мы можем переопределить указанное поведение гравитации, используя layout_gravity в TextView.

Бонус: если вы копаете глубже, вы обнаружите, что текст в TextView действует как подвид; поэтому, если вы примените гравитацию к TextView, текст внутри TextView будет перемещаться. (вся концепция применима и здесь)

1 голос
/ 01 июня 2017

gravity : используется для простых представлений, таких как textview, edittext и т. Д.

layout_gravity : используется только для текущего представления, гравитация в контексте его относительного родительского представлениякак линейный макет или FrameLayout, чтобы сделать вид в центре или любой другой гравитации своего родителя.

1 голос
/ 17 мая 2017

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

0 голосов
/ 13 ноября 2018

сила тяжести - применяется к собственному виду.

layout-gravity --- Применяется к просмотру, связанному с его родителем.

0 голосов
/ 12 июля 2017

android:gravity -> Устанавливает плотность содержимого View, на котором он используется.

android:layout_gravity -> Устанавливает гравитацию вида или макета Родителя

0 голосов
/ 02 января 2017
android:gravity

используется для настройки содержимого представления относительно его заданной позиции (выделенной области).android:gravity="left" ничего бы не сделал, если layout_width равно "wrap_content"

android:layout_gravity 

, которое используется для самого просмотра относительно родительского файла или файла макета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...