如何简单地处理方向变化?

Dog*_*her 6 titanium appcelerator appcelerator-mobile

我不是在说任何花哨的东西.我只想在用户旋转设备时旋转标准窗口和视图.

Cra*_*aig 10

你需要告诉窗口它应该支持哪些方向:

var window = Ti.UI.createWindow({
    orientationModes: [
        Ti.UI.LANDSCAPE_LEFT,
        Ti.UI.LANDSCAPE_RIGHT,
        Ti.UI.PORTRAIT,
        Ti.UI.UPSIDE_PORTRAIT
    ]
});

window.open();
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用监听器监听方向更改,如下所示:

Ti.Gesture.addEventListener('orientationchange', function(e) {
    Titanium.API.info('Orientation changed');
});
Run Code Online (Sandbox Code Playgroud)

编辑:我认为(虽然我从来没有尝试过)你也可以在tiapp.xml中设置它,它具有自动应用于所有窗口的额外好处.

<orientations device="iphone">
    <orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
    <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
    <orientation>Ti.UI.PORTRAIT</orientation>
    <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation>
</orientations>
Run Code Online (Sandbox Code Playgroud)