Android获取父视图的背景颜色,如果没有背景颜色集
问题描述:
我有一个TextView,我还没有设置背景颜色。我想去背景颜色,但当我做((ColorDrawable) mTextView.getBackground()).getColor()
我显然得到一个空指针异常。Android获取父视图的背景颜色,如果没有背景颜色集
我该如何遍历TextView的视图层次结构,以便在TextView使用背景作为结果的层次结构中查找最新的背景色。
and 如果在层次结构中没有设置背景颜色,我将如何确定背景颜色?我将如何确定这种情况?我怎么知道没有设置背景?
我基本上很难确定视图的背景颜色,当它没有明确设置。
答
遍历层次取决于您使用的是什么控制。
现在,要获得布局的颜色,只能在API 11+中完成,如果您的背景是纯色。
int color = Color.TRANSPARENT;
Drawable background = view.getBackground();
if (background instanceof ColorDrawable)
color = ((ColorDrawable) background).getColor();
,一旦你得到的ColorCode你可以以此为基础进行操作。
您必须先查看其在视图层次结构中的位置。像linearlayoutl.getChildAt(index) –