使用运行Android 4.3的Nexus 7平板电脑。
在我的应用程序中,Main
视图顶部有两个标签栏按钮,底部有三个标签栏按钮。设备处于纵向模式。
选择按钮时,视图成功转换。新视图定义了后退按钮
如果将设备旋转为横向然后选择后退按钮,则当转换回Main
视图完成时,View
(按钮)将显示为设备仍处于纵向模式(已移位)左)。
如果我将设备旋转回横向并再次回到纵向,则视图会更正。
问题:
注意:更改方向时I have another question relating to the centering of tabbar buttons。没有选择按钮。这篇文章导致了一个dojo缺陷被打开,建议的解决方案消除了这个问题。 “Tabbar固定:底部。按钮从纵向转换为横向后略微向右移动”我的感觉是两个场景不相关,因为这个新场景通过旋转设备来纠正自身。
答案 0 :(得分:0)
处理方向更改的最佳方式(IMO)是通过RWD(Responsive Web Design),更具体地来说CSS3 Media Queries来根据屏幕宽度重新定位布局。这比为方向更改事件注册回调要快得多。
然而,一些复杂的Dojo小部件(如Charting)将无法正确响应媒体查询,需要方向更改事件来强制小部件调整大小。
更具体地解决您的问题:
我希望这些信息对您有所帮助。
答案 1 :(得分:0)
我们做的不是确保所有组件都正确的做法是在转换后运行调整大小。
dojo.subscribe("/dojox/mobile/afterTransitionIn", afterTransitionIn);
function afterTransitionIn(view, moveTo, dir, transition, context, method) {
currentView = view;
currentView.resize();
}
答案 2 :(得分:0)
我认为这可以作为我的情况可以接受的解决方案,但根据预期的外观可能不适合其他人。我尝试了上面的两个建议,调整大小和CSS,但结果没有变化。我发现通过添加额外的proprtrty“fill”,它会在方向更改期间将焦点带到tabbar,并更正视图。我已经和一些道场专家交谈了,并且已经提交了一个bug供审查。
data-dojo-props =“barType:'segmentedControl',填充:'always'”