如何在向Android应用添加视图时临时保留重播

问题描述 投票:0回答:1

我有一个在运行时动态添加视图的应用程序。这是使用addView()到必须放置视图的布局容器完成的。效果很好。

但是有时需要删除所有现有视图,并一次添加所有新视图。

我假设对addView()的任何调用都会导致布局请求在树上传播。问题在于,这将导致在每次添加视图时进行重新布局,而将它们全部添加然后进行一次重新布局会更加有效。

我可以通过重用视图,仅删除多余的视图,在必要时仅添加新视图等来更有效地做到这一点,但是如果不进行重新演练,直到完成,这将更加简单明了。

有没有实现这一目标的方法?

android layout view
1个回答
0
投票

视图层次结构的每次修改(addView() / removeView())都会传播布局request,但这只是设置的标志。根据屏幕刷新率,直到以后的预定时间,才会进行完整版式设计。

换句话说,您不必做任何特别的事情。在给定的例程中,您可以根据自己的需要修改视图层次结构(如果需要,可以完全替换所有Views),这只会生成1个布局通过作为响应。

某些Views可能会收到多个对onMeasure()的调用,但这是与单个布局传递相关的正常行为。

© www.soinside.com 2019 - 2024. All rights reserved.