37

我正在处理 Facebook SDK 中的错误,因此要删除错误,我需要将可绘制对象设置为空,而不是 NULL,只是空或空白等。我怎样才能以编程方式做到这一点?

Drawable=...
4

2 回答 2

93

您可以使用透明的ColorDrawable

Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);

那是Drawable代表透明颜色并且没有固有大小的 a。

于 2013-08-09T12:50:39.930 回答
7

可以使用透明的 ColorDrawable和函数setBounds(Rect)制作具有宽度和高度的空 Drawable

 int left=0,top=0,right=32,bottom=32;
 Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);
 transparentDrawable.setBounds(left,top,right,bottom);

如果您想要一个尺寸与另一个可绘制对象相同的空可绘制对象(例如 d):

 Drawable d = getResources().getDrawable(R.drawable.my_drawable);
 Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);
 transparentDrawable.setBounds(new Rect(0, 0, d.getMinimumWidth(), d.getMinimumHeight()));
于 2014-03-30T09:27:52.050 回答