gpt4 book ai didi

android - 在运行时调整布局大小时内容闪烁

转载 作者:太空狗 更新时间:2023-10-29 12:47:40 25 4
gpt4 key购买 nike

我有一个非常复杂的 ListView元素。当用户向下滚动(例如,到第 5 个元素)时,我隐藏 ActionBar (通过 hide() 方法)为 ListView 提供更多空间.看起来当我这样做时,android 框架会调用类似 redraw 的东西将 ListView 的内容缩放到更大空间的方法。这种缩放发生在运行时,没有任何内置动画。此外,对于复杂的布局(比如我的),重绘会为 View 提供丑陋的闪烁效果,从而改变自己的位置或大小。在大多数情况下,这种行为似乎使任何动态布局更改都无法使用。有没有人有任何想法如何解决这个问题?可能有一些棘手的方法可以为这种重绘提供动画吗?

附言我刚试过 android:animateLayoutChanges="true" , 但没有效果。 View 看起来更流畅,但眨眼仍然存在..

最佳答案

当你摆脱操作栏时,你现在有更多的可见空间来绘制。这会导致框架调整 Activity 中所有 View 的大小。这与将任何 View 的可见性从 VISIBLE 更改为 GONE 时发生的情况相同(将其更改为 INVISIBLE 不会导致重绘,因为空间仍然保留)。

为了避免这种情况 - 来自 ActionBar.show() 的文档

如果 ActionBar 当前未显示,则显示它。如果托管 ActionBar 的窗口没有 FEATURE_ACTION_BAR_OVERLAY 功能,它将调整应用程序内容的大小以适应新的可用空间。"

因此您需要指定该功能。然后您可能需要调整您的 View ,以便操作栏不会覆盖您想要显示的任何内容。

关于android - 在运行时调整布局大小时内容闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com