Установка силы тяжести самого RelativeLayout повлияет на все объекты, размещенные внутри него. В данном случае это просто кнопка. Конечно, здесь вы можете использовать любые настройки гравитации (например, center_horizontal, top, right и т. Д.).
Спасибо. Однако, если бы у меня было несколько кнопок, и я хотел, чтобы одна из них была центрирована, как бы я это сделал? Первый код будет центрировать все внутри родительского относительного размещения. Кроме того, как я мог центрировать кнопку в верхней части строки?
Аркадия
Просто используйте второй пример и добавьте centerInParent только к кнопке, которую вы хотите центрировать. Вы также можете использовать centerHorizontally и layout_alignParentTop, чтобы выровнять его по верху и отцентрировать по горизонтали. Что именно вы пытаетесь достичь, я могу привести лучший пример.
Кевин Коппок
Я только начинаю изучать разработку Android и пытаюсь полностью понять, как манипулировать вещами, чтобы делать то, что я хочу. По сути, я хочу держаться подальше от выравнивания объектов по пикселям, потому что картинка может выглядеть очень по-разному на другом типе экрана / разрешении. Однако, когда вы используете команду гравитации, все следует за ней. Я попытался отключить гравитацию для кнопки с помощью ignoreGravity, и это не сработало. Это очень сложно.
Аркадия
Да, это определенно может быть. Есть много способов сделать любой конкретный макет. Лучший способ - сделать набросок в своей голове так, как вы хотите, и идти оттуда. Это краткое руководство может помочь и некоторым: developer.android.com/resources/tutorials/views/…
Кевин Коппок
Да, я действительно делал этот урок. Я прохожу каждый учебник и изучаю, как полностью им манипулировать, иначе я не пойму, чем он отличается.
Аркадия
25
Обобщенная
Добавление:
android:layout_centerInParent="true"
просто работает на RelativeLayout, если для представления также установлен один из следующих атрибутов:
Для выравнивания по центру в одном из направлений используйте android: layout_centerHor horizontal = "true" или android: layout_centerVertical = "true" в дочернем макете
Удаление любого выравнивания, такого как android: layout_alignParentStart = "true" и добавление centerInParent работало для меня. Если «выравнивание» остается, centerInParent не работает
Ответы только по коду здесь не приветствуются. Попробуйте опубликовать более подробную информацию о том, почему приведенный выше ответ будет работать. :)
Вивз
Спасибо за руководство. Я новичок здесь.
Прим
0
Вы должны выровнять его слева или справа от родительского представления
не используйте ни один из них при использовании android:centerInParent="true"кодов: -
Ответы:
Пытаться
Именно так это работает для меня:
источник
Вы можете использовать CENTER_IN_PARENT для относительного расположения.
Добавьте
android:layout_centerInParent="true"
к элементу, который вы хотите центрировать в RelativeLayoutисточник
Аркадия, просто попробуй код ниже. Есть несколько способов получить результат, который вы ищете, это один из самых простых способов.
Установка силы тяжести самого RelativeLayout повлияет на все объекты, размещенные внутри него. В данном случае это просто кнопка. Конечно, здесь вы можете использовать любые настройки гравитации (например, center_horizontal, top, right и т. Д.).
Вы также можете использовать этот код ниже:
источник
Обобщенная
Добавление:
просто работает на RelativeLayout, если для представления также установлен один из следующих атрибутов:
который выравнивает дочернее представление к родительскому представлению. «Центр» основан на выбранной вами оси выравнивания:
влево / вправо -> вертикальный
верх / низ -> горизонтальный
Установка гравитации childs / контента внутри вида:
центрирует дочерний элемент в родительском представлении в любом случае, если не установлено выравнивание. По желанию вы можете выбрать:
Тогда есть:
который центрирует сам вид внутри своего родителя
И, наконец, вы можете добавить следующий атрибут в представление родителей:
источник
Используйте атрибут
android:centerInParent="true"
внутри вида, когда вы хотите центрировать вид в Относительном макете.источник
Это легко, не выравнивайте это ни с чем
источник
Для выравнивания по центру в одном из направлений используйте android: layout_centerHor horizontal = "true" или android: layout_centerVertical = "true" в дочернем макете
источник
Удаление любого выравнивания, такого как android: layout_alignParentStart = "true" и добавление centerInParent работало для меня. Если «выравнивание» остается, centerInParent не работает
источник
Это действительно легко. Попробуйте код ниже,
источник
Вы должны выровнять его слева или справа от родительского представления
не используйте ни один из них при использовании
android:centerInParent="true"
кодов: -android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
и т.п.
источник