getBackground()
方法返回BitmapDrawable
。
Log.d(null,"drawable: " + v.getBackground());
如何将drawable转换为R.drawable.xxx?
getBackground()
方法返回BitmapDrawable
。
Log.d(null,"drawable: " + v.getBackground());
view.getBackgroundDrawable();
使用此方法获取背景可绘制项。这将返回可绘制项。
编辑
在Jelly Bean以下版本中,此方法可以正常工作,但当本答案编写时,该方法在最新版本中已被弃用。
新编辑
对于Jelly Bean之后的版本,请尝试:
view.getBackground()
View类没有提供该方法,您可以使用:
myView.setBackgroundResource(int resId);
接收要设置的可绘制资源ID
但是该方法没有getter,只有:
myView.getBackgroundDrawable();
返回在视图中设置的可绘制对象。
您可以扩展View以创建自己的视图,并覆盖setBackgroundResource方法,在辅助变量中保存ID,然后调用super方法。定义一个getter来返回辅助变量,就可以得到想要的功能。
任何时候当你设置背景时,在一个Drawable成员类中设置R.drawable.pic。
v.setBackgroundDrawable(R.drawable.pic);
int myDrawable = R.drawable.pic;
R.drawable.pic
是一个整数值,而不是 Drawable
。 - Vladimir Mironov