gpt4 book ai didi

android - 可在 MaterialButton android 上绘制的选择器

转载 作者:行者123 更新时间:2023-12-03 14:55:53 25 4
gpt4 key购买 nike

我一直在使用新的 MaterialButton 类。当用户单击按钮时,我希望按钮上有不同的颜色。
我从一开始就为此目的使用选择器可绘制对象,但它似乎不适用于 MaterialButton。

<com.google.android.material.button.MaterialButton
android:layout_width="0dp"
android:text="@string/login"
style="@style/Widget.Mohre.Button"
android:layout_height="wrap_content"
app:cornerRadius="@dimen/card_corner_radius"
android:padding="@dimen/unit_large"
android:id="@+id/loginBtn"/>

My Widget.Mohre.Button style


@color/textColorWhite
@drawable/mohre_button_selector
@style/TextAppearance.Button
@animator/button_state_list_anim

我的选择器可绘制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/mohre_button_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/mohre_button_selected" android:state_enabled="false" android:state_pressed="false" />
<item android:drawable="@drawable/mohre_button_normal" />

我的个人可绘制对象只是具有不同颜色的矩形形状,例如这些
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="30dp"></corners>
<solid android:color="#3a516a"></solid>
</shape>
该按钮根本不采用选择器可绘制的颜色。它只显示应用程序的默认强调色

最佳答案

使用正常方式(将可绘制的选择器设置为按钮的背景),如果您使用 Theme.MaterialComponents,它将无法按预期工作。 .
您可以使用 Theme.MaterialComponents.DayNight.NoActionBar作为替代方案,但如果您不想使用该主题,则只需使用:

<androidx.appcompat.widget.AppCompatButton
................/>
即使您使用的是最新的 Material 主题,您也将获得与使用 Appcompat 主题相同的结果!

关于android - 可在 MaterialButton android 上绘制的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56096629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com