问题:
我有一个继承自LinearLayout
的班级。
该类在构造函数中创建一些按钮,并使用addChild()
将它们放入自身。
我重载了方法onSizeCHanged
,我想在这个方法中添加一些孩子。
但是在点击其他按钮之前,更改无效。
所以,我需要按下一些现有的按钮,之后我添加的视图会出现。 (顺便说一句,只有带有ontouchlistener的按钮才能执行此操作。没有监听器的按钮无法显示新视图。)
如何在onSizeChange
方法中添加视图以立即显示?
此外:
方法forceLayout()
和requestLayout()
无效。
答案 0 :(得分:0)
我自己没有扩展LinearLayout,但我在课堂上读了一下,我认为你需要覆盖onLayout()并在其中添加你的子视图。检查文档并查看是否有帮助
答案 1 :(得分:0)
解决方案是:制作一个简单的布尔标志,将其设置为“true”im onSizeChanged并调用“invalidate”。
在方法“onDraw”中检查flag是否为true,如果是,则调用requestLayout。然后将flag设置为false。