如何获得textview的文本颜色?

在给定的代码lbl [0] .getTextColor()给出错误,但我不知道如何获得textview的文本颜色的java文件,请帮助我。

public void angry(View v) { if (lbl[0].getTextColor() == Color.BLACK) lbl[0].setTextColor(Color.RED); if (lbl[0].getTextColor() == Color.RED) lbl[0].setTextColor(Color.BLACK); } 

谢谢。

用这个

textView.getCurrentTextColor()

有一件重要的事情要记住:getCurrentTextColor()以及类似的方法,如getCurrentHintTextColor()和getHighlightColor()返回int值不是hex主要用于定义颜色。 这甚至可能会更令人困惑,因为这是负数,例如红色是-65536,绿色是-16711936,白色是-1。

为了简单起见,这是因为getCurrentTextColor()返回当前颜色和白色颜色值(都是十进制)减去1之间的差值。expression式是:CurrentColor-(WhiteColor + 1),其中白色是16777215.当然,对于标准颜色你可以使用像Color.GREEN或Color.MAGENTA这样的预定义的常量,但是知道你可以使用getCurrentTextColor()来获得任何颜色。

http://android4beginners.com/2013/07/lesson-1-3-how-to-change-a-color-of-text-and-background-in你可以阅读更多关于设置和获取Android的颜色-textview /

如果你正在使用contextcompat库来为新版本的android设置颜色,那么你可能会得到一个与上面相同的值。 这个testing对我来说在我使用以下设置testing颜色

view.setTextColor(ContextCompat.getColor(ctx,color));

  textColor =view.getCurrentTextColor(); CoreApp.debug("viewutils", "green color: "+textColor); assertThat(textColor, is(ContextCompat.getColor(mCtx, R.color.green)));