首页 > 解决方案 > 在样式中使用材质按钮属性

问题描述

我正在尝试为 com.google.android.material.button.MaterialButton 定义自定义样式,以便在整个应用程序中重用它,但我无法将 app:cornerRadius 属性添加到我定义的样式中。有可能吗?我要移动到样式的按钮属性:

        <com.google.android.material.button.MaterialButton
            android:id="@+id/login_button"
            android:layout_width="280dp"
            android:layout_height="80dp"
            android:paddingLeft="40dp"
            android:paddingTop="10dp"
            android:paddingRight="40dp"
            android:paddingBottom="10dp"
            app:cornerRadius="30dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/passwordInput" />

为了将其用作所有按钮的样式,我想要实现的目标:

    <style name="CustomMaterialButton" parent="Widget.MaterialComponents.Button">
        <item name="android:layout_width">280dp</item>
        <item name="android:layout_height">80dp</item>
        <item name="android:paddingLeft">40dp</item>
        <item name="android:paddingTop">10dp</item>
        <item name="android:paddingRight">40dp</item>
        <item name="android:paddingBottom">10dp</item>
        <item name="app:cornerRadius">30dp</item>
    </style>

并像这样使用它:

 <com.google.android.material.button.MaterialButton
            android:id="@+id/login_button"
            style="@style/CustomMaterialButton"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/passwordInput" />

标签: androidandroid-buttonandroid-themeandroid-styles

解决方案


推荐阅读