14

我有两个彼此相邻的具有相同高度的视图。我想要的行为是它们不会相互投射阴影,因为它们具有相同的高度,但是,正在发生的事情是左侧的视图在右侧投射了阴影。它们的大小不同,因此我不能将它们都放在另一个视图中并将高程应用于该视图。

这是预期的行为吗?有办法绕过吗?

编辑:

我只是用更简单的视图重新创建,这里是代码。我还注意到,如果我在布局中直接有视图并且不包含它,就像我在本示例中所做的那样,并且我需要它工作,它具有预期的行为。

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

和截图:

4

1 回答 1

4

查看您拥有的层次结构:

在此处输入图像描述

因此,您已将高程应用于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>

你会得到这个输出:

于 2017-04-24T13:45:17.297 回答