在相当快地改变屏幕方向时,或者当背景出现重物时,我遇到了奇怪的问题。当我打电话setContentView(R.layout.main);
时onConfigurationChanged
(我自己处理方向更改),在屏幕旋转片刻后,android将布局设置为与方向相反。例如 - 当您更改方向布局更改时,例如Portrait>Landscape,但有时,在我的情况下,它会像这样Portrait>Portrait(当手机已经处于横向位置时)>Landscape。
有时您甚至没有注意到这一点,有时屏幕会在一秒钟内缩小到大约 1/3。好吧,这并不是什么大不了的事,但在我的活动中,我有 Coverflow 小部件(基于 Gallery),为了让它在大多数屏幕上看起来不错,我根据父容器大小(在onSizeChanged
小部件中)设置图像大小,以及何时方向更改如上所述,coverflow 小部件选择了错误的大小。
我现在看到的唯一方法是在方向更改时调用 onCreate(我不能这样做,因为在线填充了大量的 UI),或者在初始化 UI 时设置延迟(这很难看)。
所以我想知道,是否有任何回调setContentView()
或其他任何东西,所以我可以知道布局何时真正准备好,所以我可以初始化 UI。
或者也许还有另一种方法?
PS:由于某种原因,此故障主要发生在 Desire HD 上。