Android高程应用,就好像形状没有旋转一样

时间:2018-03-08 18:22:25

标签: android android-layout android-xml android-drawable android-elevation

我有layer-list我在我的应用中用作RelativeLayout的背景。 (这个布局被用作Android中其他应用程序/浏览器的叠加层,这就是为什么你在下面的截图中看到chrome的原因)。 layer-list中的一个形状是旋转的矩形。我想使用高程为此layer-list提供阴影,但看起来旋转元素的阴影与未旋转的阴影相同。

drawable bubble.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:left="0dp"
        android:top="20dp">
    <rotate
      android:fromDegrees="-45"
      android:pivotX="0%"
      android:pivotY="0%"
      android:toDegrees="0">
      <shape android:shape="rectangle" >
        <padding android:top="0dp" />
        <solid android:color="#FFFFFF" />
      </shape>
    </rotate>
  </item>
</layer-list>

布局文件:

<RelativeLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignBottom="@+id/opbFab"
  android:layout_alignParentTop="true"
  android:layout_toEndOf="@+id/opbFab"
  android:layout_toRightOf="@+id/opbFab"
  android:height="20dp"
  android:background="@drawable/bubble"
  android:elevation="10dp"
  android:gravity="center_vertical"
  android:orientation="horizontal"
  android:textColor="@color/primary">
...
</RelativeLayout>

第一张图像显示未使用正确应用的高程/阴影旋转时的形状。

第二张图像显示形状(白色矩形)已旋转,但阴影保持不变。

纠正阴影: Example of correctly applied elevation when the shape is not rotated.

阴影不正确: shadow has not changed but the white box has been rotated.

0 个答案:

没有答案