Макет: центральное изображение внутри центральной панели. Использование процентов - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь получить дизайн, аналогичный приведенному ниже, в одном из моих макетов действий:

enter image description here

То есть:

  • Белая панель с 60% ширины родительского элемента. Центр по горизонтали.
  • Внутри этой белой панели изображение с шириной панели 60%, по центру тоже по горизонтали.

Я играл с Руководствами, выставив их на 0,2, 0,4, 0,6 и 0,8 по горизонтали без успеха. Как я могу получить это?

1 Ответ

0 голосов
/ 26 апреля 2020

Вы должны использовать ConstraintLayout в качестве макета root, затем установить ширину вашего ребенка в 0dp и ширину в процентах до 0,6 (это для первого контейнера, 60%):

        <FrameLayout
            android:id="@+id/some_id"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent
            app:layout_constraintWidth_percent=".6" >

Для ImageView это 60% группы просмотра, которая сама составляет 60%, поэтому она должна быть 36% от родителя:

        <ImageView
            android:id="@+id/some_other_id"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent
            app:layout_constraintWidth_percent=".36" />

Другой вариант - сделать родительский объект ImageView ConstraintLayout, а затем установите ширину ImageView равной 60%, но таким образом ваш макет не будет плоским.

...