【问题标题】:MaterialButton Style not working on Android 5.0 (api 21)MaterialButton 样式不适用于 Android 5.0 (api 21)
【发布时间】:2019-07-27 15:26:39
【问题描述】:

虽然它们使用相同的代码库,但我的问题是它们显示不同的按钮样式。在 Android 5.1 及更高版本上,我的代码按预期工作。但在 Android 5.0 MaterialButton 样式和背景颜色不起作用。

我正在使用com.google.android.material:material:1.1.0-alpha01

继续按钮适用于 Nexus 5 Android 5.1.1

继续按钮 样式不适用于 Nexus 5 Android 5.0

这是dialog.xml

<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    app:cardCornerRadius="4dp">

   <!-- View -->

        <com.google.android.material.button.MaterialButton
            android:id="@+id/btn_allow"
            style="@style/Widget.AppTheme.ConfirmButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_marginEnd="@dimen/margin_20"
            android:layout_marginBottom="@dimen/margin_16"
            android:text="@string/str_continue" />

</com.google.android.material.card.MaterialCardView>

我的 style.xml

<resources>
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryVariant">@color/colorPrimaryDark</item>
        <item name="colorSecondary">@color/colorAccent</item>
        <item name="colorOnSecondary">@color/onColorSecondary</item>
        <item name="android:colorBackground">@color/colorPrimary</item>

        <item name="textAppearanceButton">@style/TextAppearance.AppTheme.Button</item>

    </style>

    <style name="AppTheme.NoActionBar" parent="AppTheme">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="Widget.AppTheme.ConfirmButton" parent="Widget.MaterialComponents.Button.UnelevatedButton">
        <item name="android:backgroundTint">?colorSecondary</item>
        <item name="android:textColor">?colorOnSecondary</item>>
        <item name="cornerRadius">2dp</item>
        <item name="android:paddingTop">@dimen/margin_12</item>
        <item name="android:paddingBottom">@dimen/margin_12</item>
        <item name="android:letterSpacing">-0.02</item>
    </style>

    <style name="TextAppearance.AppTheme.Button" parent="TextAppearance.MaterialComponents.Button">
        <item name="android:textAllCaps">false</item>
        <item name="android:textSize">17sp</item>
    </style>
</resources>

【问题讨论】:

    标签: android material-design android-button android-styles


    【解决方案1】:

    尝试使用 Android X 而不是 appcompat

    使用材料设计尝试在未来使用 android X。这是材料设计的标准做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2014-12-29
      • 2020-03-27
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2018-12-09
      相关资源
      最近更新 更多