Dan*_*lio 12 android android-layout android-view android-elevation
我有两个相同高度的视图.我想要的行为是,他们不会在彼此之间投下阴影,因为他们有相同的高度,然而,正在发生的是左边的视图,在右边投下阴影.它们的大小不同,因此我无法将它们放在另一个视图中并对该视图应用高程.
这是预期的行为吗?有没有办法围绕它?
编辑:
我只是用简单的视图重新创建,这里是代码.我也注意到它有预期的行为,如果我直接在布局中有视图,并且不包括它,因为我在这个例子中做了它,因为我需要它工作.
<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>
Run Code Online (Sandbox Code Playgroud)
以下是包括:
<?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>
Run Code Online (Sandbox Code Playgroud)
截图:

查看您拥有的层次结构:
因此,您已将高程应用到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>
Run Code Online (Sandbox Code Playgroud)
你会得到这样的输出:
