Android更新视图树
问题是: 我有一个类,继承自Android更新视图树,android,view,android-linearlayout,Android,View,Android Linearlayout,问题是: 我有一个类,继承自LinearLayout。 该类在构造函数中创建一些按钮,并使用addChild()将它们放入自身。 我已经重载了SizeChanged上的方法,我想在这个方法中添加一些child。 但是,只有单击其他按钮之一,更改才会生效 所以,我需要按下一些现有的按钮,然后我添加的视图就会出现。 (顺便说一句,只有带有ontouchlistener的按钮才能执行此操作。没有listener的按钮无法显示新视图) 如何在onSizeChange方法中添加视图以立即添加视图 补充:
LinearLayout
。
该类在构造函数中创建一些按钮,并使用addChild()
将它们放入自身。
我已经重载了SizeChanged上的方法,我想在这个方法中添加一些child。
但是,只有单击其他按钮之一,更改才会生效
所以,我需要按下一些现有的按钮,然后我添加的视图就会出现。
(顺便说一句,只有带有ontouchlistener的按钮才能执行此操作。没有listener的按钮无法显示新视图)
如何在onSizeChange
方法中添加视图以立即添加视图
补充:
方法forceLayout()
和requestLayout()
无法工作。我自己没有扩展LinearLayout,但我读了一点类,我认为您需要重写onLayout(),并在其中添加子视图。检查文档,看看是否有帮助
)解决方案是:制作一个简单的布尔标志,将其设置为“true”imonSizeChanged并调用“invalidate”
在方法“onDraw”中,检查标志是否为true,如果为true,则调用requestLayout。然后将flag设置为false。是否覆盖onLayout()?不,我没有覆盖onLayout