使用自定义背景图像创建圆形按钮

Create circle button with custom background image

所以我有一个背景纹理(图像),我把它放在我所有的按钮上。我想创建一个带有保留此背景纹理的图标的圆形按钮。

到目前为止,我注意到 shape 端不支持这样做:

<shape android:shape="rectangle">
    <solid android:color="@drawable/myTexture" /> <!-- this isn't supported -->
</shape>

最后我会尝试使用 <layer-list>,但是正如我上面所说,我仍然需要将纹理裁剪到我正在创建的形状。

制作我自己的结合了背景纹理和按钮图标的圆形图像是唯一的方法吗?这似乎有点过分,因为我认为应该有一种编程方式来实现这一点,但我可能是错的。

这是我上面的意思的一个例子:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/myTexture" />
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="40dp" />
            <size
                android:height="80dp"
                android:width="80dp" />
            <solid android:color="@color/black" />
        </shape>
    </item>
</layer-list>

下图中:黑色为圆形,银色为texture/image(黑色对比)

我还没有通过编程方式解决问题,但我最终创建了结合了图标和背景纹理的新图形。使用这个单一图像,我能够创建圆形 ImageButton