我正在使用 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
}
}
}
]
如您所见,当应用程序以纵向模式启动时,一切都很酷,这应该是因为所有 Controls Paddings和 Containers SpaceQuota的东西都使用与纵向模式兼容的值进行了初始化,但是当它以横向模式启动时,它是不同的是,它将采用纵向模式的初始值,直到我切换到纵向模式,然后将其返回到横向模式。
我怎样才能解决这个问题 ?我可以在 1 个导航窗格中有 2 个页面,其中包含不同的“OrientationSupport”吗?我试过了,但它不起作用;例如,我在横向模式下的第 1 页,然后打开仅支持纵向模式的第 2 页,它切换到纵向,但是当我回到上一页时,OrientationSupport将固定为纵向模式(它不不再处理横向模式)
第 1 页:
OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.All
第2页:
OrientationSupport.supportedDisplayOrientation = SupportedDisplayOrientation.DisplayPortrait