air for android - 在AIR 2.5中不推荐使用stage.setOrientation,那我现在该怎么办?

时间:2010-12-31 06:27:14

标签: android air adobe orientation

as3 air for android使用flash CS5

我的问题:在我的droid 2全局测试AIR应用程序(使用滑出式键盘) 使用stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,handleOrientationChange); 只有在我将键盘滑出而不是在旋转手机时才会触发此功能。 我尝试了自动方向的开启和关闭以及纵向和横向的方面。

实际上,自动方向选项似乎没有任何影响。

我需要在旋转手机时更改方向。我知道我可以使用加速度计来做到这一点,但问题是当我点击一个textField键盘关闭时,只有垂直键盘弹出,我需要另一个弹出时手持侧面电话。

2 个答案:

答案 0 :(得分:1)

我有同样的问题。研究了一下,发现了stage.setAspectRatio。它对我来说不是很重要,但也许你可以想出一些东西。

stage.setAspectRatio(StageAspectRatio.LANDSCAPE); //LANDSCAPE or PORTRAIT

如果你弄明白了,请告诉我!

答案 1 :(得分:1)

我在我的博客上发布了一个跨平台兼容的解决方案:

http://digitale-avantgarde.com/orientierungslos/

正如您可能注意到的那样,它是德语版,但您可以使用谷歌进行翻译!

如果你对我的博客做评论,我真的很感激;)

如果您完全丢失(并且不愿意提问),您可以在文章末尾下载StageOrientationObserver类,并使用以下代码获取金牌:

import com.digitaleavantgarde.StageOrientationObserver;

var observer = StageOrientationObserver.instance;
observer.addEventListener( StageOrientationEvent.ORIENTATION_CHANGE, onOrientationChange);
function onOrientationChange(evt:StageOrientationEvent):void
    {
        switch (evt.afterOrientation) {
            case StageOrientation.DEFAULT:
                trace("DEFAULT");
            break;
            case StageOrientation.ROTATED_RIGHT:
                    trace("ROTATED_RIGHT");
                    break;
            case StageOrientation.ROTATED_LEFT:
                trace("ROTATED_LEFT");
            break;
            case StageOrientation.UPSIDE_DOWN:
                trace("UPSIDE_DOWN");
            break;
        }
}