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

时间:2011-03-16 08:44:28

标签: titanium appcelerator appcelerator-mobile

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

3 个答案:

答案 0 :(得分:10)

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

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

window.open();

然后你可以听一听这样的方向改变:

Ti.Gesture.addEventListener('orientationchange', function(e) {
    Titanium.API.info('Orientation changed');
});

编辑:我认为(虽然我从未尝试过)你也可以在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>

答案 1 :(得分:1)

Titanium.Gesture.addEventListener('orientationchange', function(e) {
    Titanium.API.info('Gesture Change Detected');
    Ti.App.fireEvent('orientationchange', {eventObject:e});
});

答案 2 :(得分:1)

这是Android默认的工作。但是不能在iphone上工作,所以只需编写这段代码

var win1 = Ti.UI.createWindow({
   title : 'Tab 1',
 orientationModes: [
        Ti.UI.LANDSCAPE_LEFT,
        Ti.UI.LANDSCAPE_RIGHT,
        Ti.UI.PORTRAIT,
        Ti.UI.UPSIDE_PORTRAIT
    ],
});

win1.open();

Ti.Gesture.addEventListener('orientationchange', function(e) {
    Titanium.API.info(Ti.Gesture.orientation);
});

我,请注意这对你有用。

相关问题