TextView 的自定义颜色不同于 Android 工作室展示

Custom colors of TextView are different than Android Studio shows

我对不正确的 TextView 颜色有疑问。我在 xml 片段中使用这个表达式:

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

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

currentColorOfText.value = R.color.blue

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

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

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

提前致谢

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

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

@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)

查看