【问题标题】:How can I set BackgroundColor on Kotlin for button?如何在 Kotlin 上为按钮设置 BackgroundColor?
【发布时间】:2021-05-26 20:21:49
【问题描述】:

我一直在寻找如何更改按钮背景的颜色,而我最接近的方法是使用

view.setBackgroundColor(ContextCompat.getColor(this, R.color.white))

但是当我这样做时,按钮不会变成白色,而是变成紫色?这就像按钮的默认颜色,我真的不知道该怎么做。

感谢您的帮助,如果我不回复我很抱歉:(我无法很好地使用此页面

【问题讨论】:

    标签: android kotlin button android-button


    【解决方案1】:

    使用 setBackgroundTintList 代替 setBackgroundColor

    类似:

    button.backgroundTintList = ContextCompat.getColorStateList(this,R.color.xxxx);
    

    你可以使用简单的颜色:

    <color name="red600">#e53935</color>
    

    或者更好的选择器:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:color="?attr/colorPrimary" android:state_enabled="true"/>
      <item android:alpha="0.12" android:color="?attr/colorOnSurface"/>
    </selector>
    

    默认背景颜色由主题中的 colorPrimary 属性定义。

    【讨论】:

    【解决方案2】:

    借助这些,您可以在运行时轻松更改颜色

    // 在Java中 btn.setBackgroundColor(btn.getContext().getResources().getColor(R.color.red));

    在科特林中

    btn.setBackgroundColor(this.getResources().getColor(R.color.red));
    

    btn.setBackgroundColor(Color.RED);
    

    在 RGB 的帮助下:0xAARRGGBB

    btn.setBackgroundColor(0xFFFF0000);
    

    【讨论】:

    • 您好,谢谢您的回答 :) 但我试过了,我认为这些行适用于 java 而不是 kotlin :( 或者我错了吗?我还在学习
    • 现在我要告诉你如何在 kotlin 中改变颜色。
    猜你喜欢
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多