如何确定TextView的背景颜色?

时间:2012-01-16 19:50:46

标签: android testing background-color

在我的测试中,我想确保View(不是ImageView)具有某种背景颜色。如何通过与相关视图进行交互来直接执行此操作?

此视图的背景不是Drawable。它是在XML中设置的,或者是使用view.setBackgroundColor(...)设置的。

3 个答案:

答案 0 :(得分:1)

它需要你重构一下,但是你可以使用setBackgroundDrawable()并传入ColorDrawable的实例,而不是使用setBackgroundColor()。它实际上不再是你的工作方式,ColorDrawable可以让你设置它的颜色,并在你执行测试时稍后再使用它。所有View对象都响应getBackground()方法,该方法返回该实例的Drawable。

这应该适合你,它并没有真正增加任何开销,因为即使你调用setBackgroundColor,Android也需要为你创建一个Drawable

答案 1 :(得分:1)

ColorDrawable有一个getColor()方法,返回表示其颜色的int值。创建ColorDrawable对象时,您可以调用setColor()来设置背景颜色。现在,您可以比较两个int颜色值,看它们是否相等。您需要将其转换为ColorDrawable,而不是Drawable接口

ColorDrawable drawable =(ColorDrawable)view.getBackground();

答案 2 :(得分:1)

您可以使用它来获取textview的背景颜色..

<强> yourTextView.getBackgroundResource(R.color.white);

其中color.xml在res / values文件夹中定义为

<color name="white">#ffffffff</color>