【发布时间】:2018-06-20 11:27:29
【问题描述】:
.NET 下可以调用 SuspendLayout() / ResumeLayout()。
Android下有没有等价物?
我的原因是……我有一个包含多达 64 个“面板”的 RelativeLayout(另一个具有 3 个 TextView 子项的 RelativeLayout)。
通过串行通信链接,我收到一条 XML 消息,描述了要显示的面板数量、它们的大小以及在每个可见面板的 3 个文本视图中放置什么。
初始代码一切正常,我可以显示面板页面。
但是,当我收到新的 XML 消息时,我会隐藏所有面板,重新定位新 XML 消息中定义的面板,更新每个面板的 3 个文本视图,然后显示正在使用的面板。
同样,这有效,但是当所有面板都被隐藏时页面变为空白(可能 1-2 秒),然后出现所有新面板。
我猜测隐藏/显示面板是一个相对较快的过程,但在重新启用面板之前,解码 XML 和更新面板文本/字体/颜色/等需要一段时间来计算。
我想知道如何在更新顶级 RelativeLayout 时“暂停”绘制过程,然后在所有视图都已初始化后“恢复”绘制。
有没有办法做到这一点?
还是我从错误的角度来看待这件事? 如果是这样,最好的尝试方法是什么?
--- 更新 ---
好吧,我似乎有点为时过早,因为我在我的代码中发现了一个“怪癖”,导致了 1-2 秒的延迟(一条未处理的 XML 消息)。
但感谢您花时间给我一些指示。无聊的时候来点轻松的阅读!!
【问题讨论】:
标签: android layout resume suspend