首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用View.onMeasure()

未调用View.onMeasure()
EN

Stack Overflow用户
提问于 2011-10-14 20:49:19
回答 2查看 2.9K关注 0票数 10

我有一个非常简单的自定义视图与onMeasure()覆盖。我的onMeasure()根据可绘制的背景来决定大小。当第一次从xml创建视图时,一切都正常工作。但随后我通过编程设置了不同的背景,因此视图应该会调整大小。视图现在有了不同的背景,但它不会调整大小,也不会调用onMeasure()

我尝试了所有的方法-- requestLayout()forceLayout()invalidate()setLayoutParams() --都没有效果。我做错了什么?我只想让我的视图调整大小。

EN

回答 2

Stack Overflow用户

发布于 2011-10-14 21:38:40

问题是我在视图的onSizeChanged()中调用了setBackground()。我重构了代码,现在它可以工作了。

票数 1
EN

Stack Overflow用户

发布于 2011-10-14 20:55:41

你有没有尝试过显而易见的东西,比如你的方法是如何声明的?

如果您没有添加@override注释,请添加它,并查看编译器是否告诉您它没有覆盖任何内容。如果是,请检查onMeasure的名称和方法签名。

否则,请确保您理解应该何时调用measure()方法:How Android draws Views

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7767830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档