相关疑难解决方法(0)

forceLayout(),requestLayout()和invalidate()的用法

我有点困惑的角色forceLayout(),requestLayout()以及invalidate()该方法的View类.

他们何时被召唤?

android android-layout android-view

163
推荐指数
4
解决办法
8万
查看次数

onMeasure():wrap_content,我怎么知道要包装的大小?

我已经创建了一个自定义视图,onDraw()覆盖了画布上的位图.当我在布局文件中指定我想要它wrap_content时,它仍然会填满整个屏幕.onMeasure()这样说:

measure的基类实现默认为背景大小,除非允许更大的大小MeasureSpec.子类应覆盖onMeasure(int,int)以提供更好的内容测量.

好酷,所以我知道我需要覆盖onMeasure()和使用MeasureSpec.根据这个答案

unex表示layout_width或layout_height值设置为wrap_content.你可以任意大小.

现在我遇到了我的问题,我如何onMeasure()测量我尚未创建的位图并测量/包装它?我知道其他Android视图必须做一些事情,因为如果设置为wrap_content,它们不会阻挡整个屏幕.提前致谢!

android view custom-component

14
推荐指数
2
解决办法
1万
查看次数