【问题标题】:How to set an empty drawable如何设置一个空的drawable
【发布时间】:2013-08-09 12:38:19
【问题描述】:

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

Drawable=...

【问题讨论】:

    标签: android drawable


    【解决方案1】:

    你可以使用透明的ColorDrawable

    Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);
    

    这是一个Drawable,代表透明颜色,没有固有大小。

    【讨论】:

    • 那么如果你尝试获取固有宽度,它会返回什么?
    • 我会说-1,根据消息来源。
    • 谢谢哥们。我使用了你的代码并且它有效。我认为它返回 0 或其他东西。没关系。
    • 最直接的解决方案。谢谢!
    【解决方案2】:

    可以使用 transparent 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-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多