具有相同高度的两个视图并排

时间:2015-06-09 14:46: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>

以下是包含:

<?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>

截图:

1 个答案:

答案 0 :(得分:2)

查看您拥有的层次结构:

enter image description here

因此,您已将高程应用于13,而不是兄弟姐妹。显然,如果一个视图在层次结构中更高,那么它应该投射阴影,无论这些视图是否具有相同的高程或不同。

如果您将高程应用于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>

你会得到这个输出: