自定义按钮未完全显示

Custom Button not completly shown

我尝试将一个可绘制对象设置为按钮的背景,但现在只有边角变圆了。

这是可绘制对象的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="1000dp"/>

    <solid android:color="@color/light_notlight_themebased_accentColor" />

    <padding
        android:bottom="7dp"
        android:top="7dp"
        android:left="7dp"
        android:right="7dp" />

    <stroke
        android:color="@color/ContrastAndText"
        android:width="10dp" />
</shape>

下面是按钮的代码:

<Button
            android:id="@+id/loginButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:background="@drawable/login_loginbutton_default"
            android:text="@string/login_loginButton"
            android:textAllCaps="true"
            android:textColor="@color/NavbarAccent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.498"
            app:layout_constraintStart_toStartOf="parent" />

不显示笔划和颜色(它保持背景颜色),只有角是圆的...

这是它的样子:

在 AndroidStudio 预览版 (Canary 4.1) 中:

设备上的最终结果:

我有什么错?提前致谢!

如果您使用的是 MaterialComponents 主题,<Button /><com.google.android.material.button.MaterialButton /> 之间没有区别。检查 .

的答案

如果您想在 Button 中使用 android:background 属性,您必须使用 1.2.0-alpha06 或更高版本。

<MaterialButton
    app:backgroundTint="@null"
    android:background="@drawable/button_gradient"
    ... />

否则你必须使用 AppCompatButton 组件。

检查你的形状你不需要设置背景。 只需使用

   <com.google.android.material.button.MaterialButton
        app:cornerRadius="@dimen/..."
        app:strokeColor="@color/.."
        app:strokeWidth="@dimen/.."
        ..>