Android Q 显示错误的渐变方向

Android Q displays wrong gradient orientation

自从我将设备更新到 android10 后,我的一个背景渐变出现了一个奇怪的问题。

我有一个带有渐变背景可绘制对象的 RelativeLayout,如下所示。

<RelativeLayout
  android:id="@+id/layoutSpeedLegend"
  android:layout_width="match_parent"
  android:layout_height="18dp"
  android:background="@drawable/background"/>

我的 background.xml 看起来像这样。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">

        <gradient
            android:centerColor="@color/yellow"
            android:endColor="@color/red"
            android:startColor="@color/darkgreen"
            android:centerX="50%"/>

        <corners android:radius="15dp" />
    </shape>
</item>

在编辑预览中,一切正常

但在我的真实测试设备上是这样的。

也无法将 android:angle="90" 添加到我的 background.xml。

有人知道为什么会这样吗?

这是一个已报告的错误 here。而且可能还没有解决。

如您在问题评论中提到的那样,解决方法是设置 angle="0"。