更新到 Material 1.2.0 后 Material 按钮上缺少角半径 属性
Corner radius property missing on MaterialButton after update to Material 1.2.0
这是我的Material按钮代码:
<com.google.android.material.button.MaterialButton
android:id="@+id/next_button"
android:layout_width="224dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="68dp"
android:layout_marginTop="510dp"
android:layout_marginEnd="68dp"
android:layout_marginBottom="68dp"
android:background="@color/colorPrimary"
android:minHeight="60dp"
android:text="@string/onboarding_next_button"
android:textColor="@android:color/white"
app:cornerRadius="25dp" />
将 Material 库从 1.1.0 更新到 1.2.0 后,app:CornerRadius 将被忽略。我按照 Material 文档尝试使用形状主题,但控件仍然完全是正方形
使用app:backgroundTint
代替android:background
<com.google.android.material.button.MaterialButton
app:backgroundTint="@color/colorPrimary"
.../>
从 开始,可以在 MaterialButton
中使用 android:background
。 使用自定义 android:background 未使用默认值 MaterialShapeDrawable
并且未设置笔划、形状外观、角半径、波纹等部分功能(因为它们与MaterialShapeDrawable
) 并且您必须向他们提供您的自定义背景
由于您使用简单的颜色作为背景,只需使用 app:backgroundTint
。
这是我的Material按钮代码:
<com.google.android.material.button.MaterialButton
android:id="@+id/next_button"
android:layout_width="224dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="68dp"
android:layout_marginTop="510dp"
android:layout_marginEnd="68dp"
android:layout_marginBottom="68dp"
android:background="@color/colorPrimary"
android:minHeight="60dp"
android:text="@string/onboarding_next_button"
android:textColor="@android:color/white"
app:cornerRadius="25dp" />
将 Material 库从 1.1.0 更新到 1.2.0 后,app:CornerRadius 将被忽略。我按照 Material 文档尝试使用形状主题,但控件仍然完全是正方形
使用app:backgroundTint
代替android:background
<com.google.android.material.button.MaterialButton
app:backgroundTint="@color/colorPrimary"
.../>
从 MaterialButton
中使用 android:background
。 使用自定义 android:background 未使用默认值 MaterialShapeDrawable
并且未设置笔划、形状外观、角半径、波纹等部分功能(因为它们与MaterialShapeDrawable
) 并且您必须向他们提供您的自定义背景
由于您使用简单的颜色作为背景,只需使用 app:backgroundTint
。