Android: 在按钮内画一个圆圈

Android: Drawing a circle inside a button

我需要在按钮内创建一个圆圈,如下图所示:

但我的问题是我已经使用按钮的背景 属性 通过以下方式添加漂亮的阴影效果: android:background="@android:drawable/dialog_holo_light_frame"

所以我想我不能同时使用背景。

这是我的按钮目前的样子:

知道如何同时获得同样漂亮的阴影效果和内部圆圈吗?也许用“风格”属性 是可能的? (不知道)

您可以像这样使用 CardView:

<com.google.android.material.card.MaterialCardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        app:cardCornerRadius="5sp"
        app:cardElevation="10dp"
        app:strokeColor="@color/black"
        app:strokeWidth="1dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="10dp"
                android:gravity="center"
                android:text="Test"
                android:textColor="@color/black"
                android:textSize="20sp" />

            <Button
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:background="@drawable/round_button"
                android:gravity="center_vertical|center_horizontal"
                android:text="1"
                android:textColor="#fff" />
        </LinearLayout>

</com.google.android.material.card.MaterialCardView>

round_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="oval">
            <solid android:color="#fa09ad"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="#c20586"/>
        </shape>
    </item>
</selector>