Точная разница между гравитацией и layout_gravity - программирование
Подтвердить что ты не робот

Точная разница между гравитацией и layout_gravity

Возможный дубликат:
Android - гравитация и layout_gravity

Я работаю над android xml. Я использовал android:layout_gravity="center" для выравнивания компонентов в определенном положении.

Теперь, когда я работал над Диалогом, как Activity, я наткнулся на android:gravity="center". Я нашел там, gravity был использован, чтобы выровнять его child с определенной позицией.

Я бы привел пример того, что это такое,

Android: гравитация = "центр"

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical" >
            <EditText
                android:id="@+id/enterNumberEdit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:hint="Enter No." >

                <requestFocus />
            </EditText>
            </LinearLayout>

Он выравнивает дочерний элемент LinearLayout в центре.

Android: layout_gravity = "центр"

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:background="@drawable/dialog_background" >
</LinearLayout>

Он выравнивает сам LinearLayout в центре.

Теперь мои вопросы:

  • Если я прав в этих предположениях, то, что gravity для дочерних компонентов, а layout_gravity - для родительского компонента.
  • Когда выбрать gravity над layout_gravity.

Я нашел это много объяснения, работая над xml до сих пор. Я хотел бы услышать гораздо лучшее объяснение этого. Дайте мне знать, если я где-то ошибаюсь

4b9b3361

Ответ 1

  • Да, ваше понимание верное. Любой атрибут layout_ дает инструкции родительскому виду.
  • Как правило, если представление принимает всю ширину/высоту своего родителя, то вам не нужно указывать layout_gravity, вы, вероятно, найдете gravity более полезным. Если ваше представление не принимает целого измерения его родителя, вы можете захотеть выровнять его в зависимости от желаемого внешнего вида.

Ответ 2

Их имя должно помочь вам:
android:gravity задает гравитацию содержимого используемого View.
android:layout_gravity задает гравитацию View или Layout в родительском.

Для получения дополнительной информации посетите этот сайт

Ответ 3

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

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