gpt4 book ai didi

Android按钮背景采用原色

转载 作者:行者123 更新时间:2023-12-03 13:49:56 28 4
gpt4 key购买 nike

我有这个问题,我不知道它来自哪里,我用自定义背景创建了这个按钮,但是背景颜色说的是原色,除非改变原色,否则不能改变它。

<Button
android:id="@+id/btn_teacher"
style="@style/normalText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_16sdp"
android:background="@drawable/btn_rounded_stroke"
android:text="@string/txt_teacher" />

<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="bg_color">#FFD7A4</color>
</resources>
我有很多不同颜色的按钮,所以我不能改变原色
这是我的可绘制背景
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<shape android:shape="rectangle" >
<size android:height="@dimen/_48sdp" />
<corners android:radius="@dimen/_24sdp" />
<stroke android:width="@dimen/_1sdp" android:color="#59CECE" />
<solid android:color="@android:color/white"/>
</shape>
</item>

</layer-list>
我正在使用谷歌的新 Material 设计
implementation "com.google.android.material:material:1.3.0-alpha02"
我怎样才能覆盖这种颜色?
this the image for buttons

最佳答案

由于您使用的是 Theme.MaterialComponents.* 您的 Button被替换 at runtime通过 MaterialButton .
目前 backgroundTint 仍然是默认 MaterialButton风格。
这意味着如果您使用自定义 android:background ,你必须确保清空 backgroundTint避免自定义背景不会被 attr/colorPrimary 着色在您的主题中定义。
您必须添加 app:backgroundTint="@null" :

  <Button
app:backgroundTint="@null"
android:background="@drawable/.."

在任何情况下,您都不需要自定义背景( btn_rounded_stroke )。您只是使用自定义背景来定义圆角。 MaterialButton 默认提供此功能。 ,然后只需使用 cornerRadius 属性。
使用标准 MaterialButton :
    <com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="48dp"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:strokeColor="#59CECE"
app:cornerRadius="24dp"
enter image description here

关于Android按钮背景采用原色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63328270/

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