Android 此处不允许使用 Lint Shape

Android Lint Shape not allowed here

我有一个自定义工具栏图标(我需要一个旁边始终可见文本的工具栏图标)。

当我使用 Lint 检查我的代码时,我收到一条警告,指出此处不允许使用形状。据我所知,我应该用项目标签将形状括起来,但是一旦这样做,涟漪效应就无法在我的自定义工具栏图标上工作。这是我当前的代码

<?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"/> 引用它 它加载了正确的图标和布局,但涟漪消失了。

很奇怪,但仅使用以下内容作为我的自定义工具栏图标布局的背景就可以了,并且可以防止 Lint 抱怨。

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