Как просто обрабатывать изменения ориентации? - PullRequest
6 голосов
/ 16 марта 2011

Я не говорю о том, чтобы делать что-то необычное. Мне бы хотелось, чтобы стандартные окна и представления вращались, когда пользователь поворачивает устройство.

Ответы [ 3 ]

10 голосов
/ 16 марта 2011

Вы должны указать окну, какие ориентации оно должно поддерживать:

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 голос
/ 07 марта 2012

это работа на андроид по умолчанию.Но не работает на 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);
});

Я, думаю, это полезно для вас.

1 голос
/ 16 марта 2011
Titanium.Gesture.addEventListener('orientationchange', function(e) {
    Titanium.API.info('Gesture Change Detected');
    Ti.App.fireEvent('orientationchange', {eventObject:e});
});
...