如何处理QML页面方向?

时间:2015-06-22 10:07:42

标签: qt blackberry qml blackberry-10 momentics

我正在使用Momentics IDE 2.1.2(原生SDK)开发BlackBerry 10移动应用程序。

让我们以我用于布局的 "定向处理程序" 为例:

            attachedObjects: [
                    OrientationHandler {
                        id: handler

                    onOrientationAboutToChange: {

                        if (orientation == UIOrientation.Landscape) {

                            mainContainer.sideMenuLarge = ui.sdu(80.0)

                            mainEntryHeaderContainer.layoutProperties.spaceQuota = 1.6
                            mainEntryBodyContainer.layoutProperties.spaceQuota = 5.8

                        } else {

                            mainContainer.sideMenuLarge = ui.sdu(60.0)

                            mainEntryHeaderContainer.layoutProperties.spaceQuota = 1
                            mainEntryBodyContainer.layoutProperties.spaceQuota = 7.4
                        }
                    }
                }
            ]

就像你看到的那样,当应用程序以纵向模式启动时,一切都很酷,应该是因为所有控件 Paddings 和容器 SpaceQuota 事物被初始化为与肖像模式兼容的值,但是当它在横向模式下启动时,它是不同的,它将采用纵向模式的初始值,直到我切换到纵向模式然后将其返回到横向模式。

我该如何解决这个问题?我可以在1个不同的导航窗格中有2个页面" OrientationSupport" ?我试过但它不起作用;例如我在横向模式的第1页中,然后我打开了仅支持纵向模式的页面2,它切换到纵向,但当我回到上一页时, OrientationSupport 将以纵向模式修复(它不再处理横向模式)

第1页:

OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.All

第2页:

OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.DisplayPortrait

0 个答案:

没有答案