这里不允许使用Android Lint Shape

时间:2017-04-03 21:52:57

标签: android android-actionbar lint

我有一个自定义工具栏图标(我需要一个工具栏图标,旁边始终显示文字)。

当我用Lint检查我的代码时,我收到警告,这里不允许形状。据我所知,我应该用item标签包围形状,但是一旦我这样做,涟漪效果就不能在我的自定义工具栏图标上运行。这是我目前的代码

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

        <padding
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp" />

        <corners android:radius="5dp" />

    </shape>
</ripple>

对此有什么正确的解决方法?我尝试将形状移动到单独的可绘制文件,然后使用<item android:drawable:"@drawable/shape"/>引用它 并且它加载了正确的图标和布局,但是纹理消失了。

1 个答案:

答案 0 :(得分:0)

很奇怪,但仅使用以下内容作为我的自定义工具栏图标布局的背景就可以解决问题,并让Lint不要抱怨。

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
</ripple>