Android L正在忽略形状作为可绘制背景

Android L正在忽略形状作为可绘制背景,android,android-drawable,android-5.0-lollipop,Android,Android Drawable,Android 5.0 Lollipop,我正在Nexus5上测试Android L预览版。我的应用程序有问题 我有一些背景设置的文本视图: android:background="@drawable/rounded_textview" 而“rounded_textview”只是形状。它在下面工作得很好只需使用安卓:radius,而不是使用每个角选项。 我也有同样的问题,但我能用这种方法解决这个问题 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android

我正在Nexus5上测试Android L预览版。我的应用程序有问题

我有一些背景设置的文本视图:

android:background="@drawable/rounded_textview"

而“rounded_textview”只是形状。它在下面工作得很好只需使用安卓:radius,而不是使用每个角选项。 我也有同样的问题,但我能用这种方法解决这个问题

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="3dp">
<solid android:color="#999999"/>
  <corners android:radius="2dp"/>
</shape>

我发现将形状包装在选择器和项目标记中可以使其正常工作

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">

            <solid android:color="@color/gray" />

            <corners
                android:bottomLeftRadius="3dp"
                android:topRightRadius="3dp"
                android:topLeftRadius="3dp"
                android:bottomRightRadius="3dp" />

        </shape>
    </item>
</selector>


是。这解决了我的问题。谢谢你的解决方案,不过我还是希望谷歌能在Android L正式发布之前解决这个问题。有人在官方的Android bug追踪器上报告过这一点吗?这适用于纯色形状:)但是,在选择器中包装对渐变形状没有影响:/如果所有角落的半径都相同,则可以简单地使用Android:radius=“3dp”。它在安卓L上工作。显然,这已经在今天更新的Nexus5开发者图片中修复了!对但这只是一个例子。我想为每个角使用不同的半径。但下面的答案对我的情况有效。把你的东西放进去。这个bug已经在Android开发者预览bug跟踪器上报告过了,并且有望在最终发布Android L:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">

            <solid android:color="@color/gray" />

            <corners
                android:bottomLeftRadius="3dp"
                android:topRightRadius="3dp"
                android:topLeftRadius="3dp"
                android:bottomRightRadius="3dp" />

        </shape>
    </item>
</selector>