圆角在 Material 按钮中不起作用

Round Corner is not working in Material Button

我的登录 activity 布局中有这样的按钮。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:weightSum="2">

            <com.google.android.material.button.MaterialButton
                android:id="@+id/button_login_activity"
                android:layout_width="0dp"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:text="Login"
                app:cornerRadius="20dp"
                android:background="@color/colorPrimaryDark"
                android:textColor="@color/toolbar_text"
                android:textStyle="bold" />

            <com.google.android.material.button.MaterialButton
                android:id="@+id/button_skip_login_activity"
                android:layout_width="0dp"
                android:layout_height="60dp"
                android:layout_marginStart="10dp"
                android:layout_weight="1"
                app:cornerRadius="20dp"
                android:background="@color/colorPrimaryDark"
                android:textColor="@color/toolbar_text"
                android:text="Skip"
                android:textStyle="bold"
                android:layout_marginLeft="10dp" />

        </LinearLayout>

我的风格是这样的

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!--Common Color-->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
        <item name="windowActionBar">true</item>
        <item name="windowNoTitle">true</item>
        <item name="colorSwitchThumbNormal">@color/switch_normal</item>
        <item name="colorControlNormal">@color/switch_normal</item>
        <item name="android:textColorSecondary">@color/switch_normal</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:windowDisablePreview">true</item>

    </style>

我有如下依赖关系

implementation 'com.google.android.material:material:1.2.1'

我已经尝试了很多方法但无法使其适用于圆角,同样的方法适用于我的另一个项目。让我知道是否有人可以帮助我解决这个问题。 谢谢!

您必须删除背景:

android:background="@color/colorPrimaryDark"

使用它 MaterialButton 不会使用它自己的 MaterialShapeDrawable 作为背景。这意味着形状外观、笔划和圆角等特征将被忽略。

在你的情况下使用 app:backgroundTint 属性:

<com.google.android.material.button.MaterialButton
    app:backgroundTint="@color/colorPrimaryDark"