我有点困惑的角色forceLayout(),requestLayout()以及invalidate()该方法的View类.
他们何时被召唤?
我已经创建了一个自定义视图,onDraw()覆盖了画布上的位图.当我在布局文件中指定我想要它wrap_content时,它仍然会填满整个屏幕.onMeasure()这样说:
measure的基类实现默认为背景大小,除非允许更大的大小
MeasureSpec.子类应覆盖onMeasure(int,int)以提供更好的内容测量.
好酷,所以我知道我需要覆盖onMeasure()和使用MeasureSpec.根据这个答案
unex表示layout_width或layout_height值设置为wrap_content.你可以任意大小.
现在我遇到了我的问题,我如何onMeasure()测量我尚未创建的位图并测量/包装它?我知道其他Android视图必须做一些事情,因为如果设置为wrap_content,它们不会阻挡整个屏幕.提前致谢!