我有一个代码片段向您展示,我正在尝试更改视图(v)背景。我会从TextView
(拖动)中获取颜色代码,并使用此代码更改View
(v)的背景。但是如上所示,我收到错误。我该如何解决?问题出在哪儿?感谢。
ColorDrawable cd = (ColorDrawable)dragged.getBackground();
int colorCode = cd.getColor();
v.setBackgroundColor(colorCode);
答案 0 :(得分:0)
如果您只想将一个视图的背景分配给另一个视图而不仅仅是颜色,您可以使用以下代码
Drawable drawable = dragged.getBackground();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
v.setBackgroundDrawable(drawable );
}else{
v.setBackground(drawable);
}
但是,如果您只想获得颜色,则必须事先确定要分配哪些类型的可绘制视图。然后使用instanceof来处理如何为相应的drawable获取背景颜色。