0

我试图在我的一个活动布局中获得类似于以下内容的设计:

在此处输入图像描述

那是:

  • 一个白色面板,宽度为父面板的 60%。水平居中。
  • 在那个白色面板内,面板宽度为 60% 的图像也水平居中。

我一直在玩指南,将它们水平设置为 0.2、0.4、0.6 和 0.8,但没有成功。我怎么才能得到它?

4

1 回答 1

0

您必须使用 ConstraintLayout 作为根布局,然后将孩子的宽度设置为 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% 的 viewgroup 的 60%,所以它需要是 parent 的 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%,但这样您的布局将不会是平坦的。

于 2020-04-25T23:32:47.410 回答