【发布时间】:2011-10-21 10:40:50
【问题描述】:
我正在修改一个Activity 以实现onConfigurationChanged(...),它包含一个扩展的Gallery,其成员使用来自Gallery 的适配器的LayoutParams 手动调整大小。
不幸的是,Gallery 最初显示错误:扩展的View 填满了整个屏幕。但是,一旦选择了另一个项目,View 就会以正确的大小显示。
作为一个实验,我尝试从Gallery#onConfigurationChanged(...) 方法中冻结所选View 的尺寸并发生相同的行为,表明View 已更新,但Gallery 未显示更改.
我还尝试从Activity#onConfigurationChanged(...) 在Gallery 上同时调用invalidate() 和postInvalidate()。什么都没有。
如何强制Gallery 使用View 的正确尺寸重新绘制?
【问题讨论】:
-
你在适配器上试过 notifyDataSetChanged() 吗?
-
刷新您的图库适配器。
-
@SnowyTracks 没用,很遗憾。
-
我不确定您是如何将视图添加到您的画廊中的,但是,请尝试在适配器内部的视图上调用 invalidate(),而不仅仅是在画廊本身上。
-
已经尝试过(从重置所有内容的 View 方法内部);仍然没有喜悦。
postInvalidate()也没有做任何事情。
标签: android gallery onconfigurationchanged