为什么在设置高程后视图的方向会改变
why orientation of views change after setting elevation
在我为我的 LinearLayout 设置高度后,我的 ImageView 应该在我的 LinearLayout 上落后于它,这是什么问题?这是我的代码:
<RelativeLayout
android:layout_marginTop="100dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:elevation="10dp"
android:layout_marginBottom="100dp"
android:layout_marginTop="100dp"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:background="@drawable/login_cardview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
<ImageView
android:layout_centerHorizontal="true"
android:src="@mipmap/login_iut_logo"
android:layout_width="200dp"
android:layout_height="200dp"/>
</RelativeLayout>
我希望我的 ImageView 位于 LinearLayout 上。它运作良好,直到不为 LinearLayout 设置高程。我设置海拔是因为我想要它的阴影。
我想要这样的东西:
但在我为 LinearLayout 设置高度后,它变成了这样的东西:
如果您希望图像位于线性布局内,您应该像这样嵌套它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="40dp"
android:layout_marginTop="100dp"
android:layout_marginRight="40dp"
android:layout_marginBottom="100dp"
android:elevation="10dp" />
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:elevation="10dp" />
</RelativeLayout>
这应该可以解决问题! (无需更改大部分代码)
在我为我的 LinearLayout 设置高度后,我的 ImageView 应该在我的 LinearLayout 上落后于它,这是什么问题?这是我的代码:
<RelativeLayout
android:layout_marginTop="100dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:elevation="10dp"
android:layout_marginBottom="100dp"
android:layout_marginTop="100dp"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:background="@drawable/login_cardview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
<ImageView
android:layout_centerHorizontal="true"
android:src="@mipmap/login_iut_logo"
android:layout_width="200dp"
android:layout_height="200dp"/>
</RelativeLayout>
我希望我的 ImageView 位于 LinearLayout 上。它运作良好,直到不为 LinearLayout 设置高程。我设置海拔是因为我想要它的阴影。
我想要这样的东西:
但在我为 LinearLayout 设置高度后,它变成了这样的东西:
如果您希望图像位于线性布局内,您应该像这样嵌套它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="40dp"
android:layout_marginTop="100dp"
android:layout_marginRight="40dp"
android:layout_marginBottom="100dp"
android:elevation="10dp" />
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:elevation="10dp" />
</RelativeLayout>
这应该可以解决问题! (无需更改大部分代码)