如何在设备旋转期间重置视图布局内的小组件布局



嗯,我正在开发产品内部的新功能,这意味着我无法打破很多限制。

有一个活动监视旋转事件,但对纵向和横向使用一个统一的布局。现在我需要为视图中的几个小部件添加一些动画。

例如,动画 A 展开工具栏,而动画 B 折叠工具栏。

但是当我在横向模式下执行 A 然后旋转到纵向模式时,小部件仍然保持动画 A 后的位置,而不是在 xml 文件中配置的原始布局。

所以我想要的是部分重置布局。我怎样才能实现它???

谢谢!

最后,我找到了一个解决方案。好吧,可能不是最好的,它仍然解决了我的问题。

活动视图中插入父布局,假设在其中不放任何东西。在运行时,根据屏幕方向动态添加子视图,如下所示:

将代码放在 onConfigurationChanged() 中。

LinearLayout ll = (LinearLayout)findViewById(R.id.linearlayoutId);
View viewPor/viewLand = getLayoutInfalter().Infalte(R.layout.Por/Land, null);
ll.addView(viewPor/viewLand);

您可能需要一个与特定视图关联的对象来操作动画视图中的小部件。

最新更新