我想更改按钮文本背景

I want to change button text background

作为 android studio 的初学者,我一直面临无法解决的问题,我制作了一个带有背景图片的按钮,我想做的是添加一些类型在我的文本背景后面添加阴影,使其看起来更加醒目和专业。

这是我目前的项目:

这就是我想要使文本背景看起来像的方式:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#2C2929"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#2C2929"
        android:orientation="vertical">

        <Button
            android:id="@+id/buttonn"
            android:layout_width="match_parent"
            android:layout_height="180dp"
            android:layout_marginLeft="11sp"
            android:layout_marginTop="10sp"
            android:layout_marginRight="11sp"
            android:background="@drawable/surveys"
            android:elegantTextHeight="false"
            android:gravity="center"
            android:text="Affiliate Marketing&#10;No.1"
            android:textAlignment="gravity"
            android:textAppearance="@style/TextAppearance.AppCompat.Display1"
            android:textColor="#CB252522"
            android:textColorHint="#4A4646"
            android:textSize="34sp"
            android:textStyle="bold" />

使用 CardView + ImageView + TextView :

 <androidx.cardview.widget.CardView
    app:cardBackgroundColor="#fff"
    app:cardCornerRadius="10dp"
    app:cardElevation="6dp"
    android:layout_width="300dp"
    android:layout_height="150dp"
    android:layout_centerInParent="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/asian_guy" />

        <TextView
            app:minTxtSize="12sp"

            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_gravity="center|bottom"
            android:gravity="start|top"
            android:maxLines="3"
            android:background="#5B000000"
            android:layout_alignParentBottom="true"
            android:padding="10dp"
            android:text="Minset"
            android:textColor="#fff"
            android:textSize="14sp"
            android:textStyle="normal" />
    </RelativeLayout>
</androidx.cardview.widget.CardView>

结果:

自定义 drawable :

创建一个 drawable 文件并将其命名为 button_drawable_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/black" />
        </shape>
    </item>
    <item android:drawable="@drawable/asian_guy">  <!--ADD YOUR IMAGE HERE-->
        <shape android:shape="rectangle"/>
    </item>
    <item android:top="90dp">
        <shape android:shape="rectangle">
            <solid android:color="#5B000000" />
        </shape>
    </item>
</layer-list>

现在在你的 Button XML :

  <Button
    android:id="@+id/buttonn"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:layout_centerInParent="true"
    android:layout_gravity="center|bottom"
    android:layout_margin="10dp"
    android:background="@drawable/button_drawable_bg"
    android:elegantTextHeight="false"
    android:gravity="start|bottom"
    android:padding="20dp"
    android:text="Affiliate Marketing\nNo.1"
    android:textAppearance="@style/TextAppearance.AppCompat.Display1"
    android:textColor="#CBFFFFFF"
    android:textColorHint="#4A4646"
    android:textSize="18sp"
    android:textStyle="bold" />

结果: