在这里记录下编程开发的各种小技巧,帮助他人,成长自己。

  • 在使用 ImageSpan 或 调用 Drawable.draw(Canvas) 等场景下, 我们必须手动调用 Drawable.setBounds() 来确定 drawable 的 bounds。

    虽然我们可以通过 Drawable.getIntrinsicWidth() 和 Drawable.getIntrinsicHeight() 来获取其真实的宽高,但其 bounds 默认并不是 (0, 0, Drawable.getIntrinsicWidth(), Drawable.getIntrinsicHeight());

    如果你发现你的 ImageSpan 不显示,或者 Drawable.draw(Canvas) 没有任何效果,那多半是因为你忘记调用 Drawable.setBounds() 了。 

      Android