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)
查看
我对不正确的 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)
查看