我有两个相同高度的视图。我想要的行为是,他们不会在彼此之间投下阴影,因为它们具有相同的高度,然而,正在发生的事情是左边的视图在右边投下阴影。它们的大小不同,因此我无法将它们放在另一个视图中并对该视图应用高程。
这是预期的行为吗?有没有办法绕过它?
编辑:
我刚用简单的视图重新创建,这是代码。 我也注意到它有预期的行为,如果我直接在布局中查看视图并且不像我在本例中那样包含它,并且我需要它才能工作。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@android:color/holo_green_dark">
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@android:color/holo_red_dark"
android:elevation="24dp"/>
<include layout="@layout/test"/>
</LinearLayout>
以下是包含:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/holo_red_dark"
android:elevation="24dp"/>
</LinearLayout>
截图:
答案 0 :(得分:2)
查看您拥有的层次结构:
因此,您已将高程应用于1
和3
,而不是兄弟姐妹。显然,如果一个视图在层次结构中更高,那么它应该投射阴影,无论这些视图是否具有相同的高程或不同。
如果您将高程应用于2
而不是3
,则不会看到阴影效果。
因此,如果您只是将test.xml
更改为此:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="24dp">
<LinearLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/holo_red_dark"/>
</LinearLayout>
你会得到这个输出: