【问题标题】:Custom colors of TextView are different than Android Studio showsTextView 的自定义颜色与 Android Studio 显示的颜色不同
【发布时间】:2021-09-09 22:07:52
【问题描述】:

我遇到了 TextView 颜色不正确的问题。我在 xml 片段中使用这个表达式:

android:textColor="@{viewModel.currentColorOfText}"

在 ViewModel 我使用 当我使用currentColorOfText = Color.BLUE 时一切正常,但是当我切换到自己定义的颜色时:

currentColorOfText.value = R.color.blue

TextView 是灰色(应该是蓝色:))

我在 color.xml 中定义的颜色:

<color name="blue">#0010FF</color>

提前致谢

【问题讨论】:

    标签: android xml colors textview color-palette


    【解决方案1】:

    您获取的是颜色资源 ID,而不是颜色值。

    如果您打开颜色文件,您将看到 Color.BLUE 是一个 int 值:

    @ColorInt public static final int BLUE = 0xFF0000FF;

    要使用您的资源颜色,您需要传递您的 Activity/Application(Link to understand which one you should pass) 的上下文。

    然后使用下面的代码行:

    currentColorOfText.value = ContextCompat.getColor(context, R.color.blue)

    查看StackOverflow answer on how to pass context.

    【讨论】:

    • 谢谢,对我帮助很大。使用 getApplication() 作为上下文是正确的方法吗?
    猜你喜欢
    • 2012-07-13
    • 1970-01-01
    • 2023-03-04
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多