2012-06-14 112 views
0

我正在使用FlashBuilder 4.6開發Android應用程序。 在應用程序中,需要在設備方向更改時設置一些值。即當屏幕/設備方向從風景變爲人像並且反之時設置值。Flash Builder 4.6移動定位

雖然最初我的應用程序有LandScape的方向。這個要求是在具體的視圖。

我希望每當屏幕/設備方向改變時,必須在那裏設置值。 我沒有得到想要的結果。
請指導我,告訴我,如果我在代碼錯誤或我怎麼能實現這一點。

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" title="{data}" 
     xmlns:mx="library://ns.adobe.com/flex/mx" 
     viewActivate="view1_viewActivateHandler(event)" 
     creationComplete="view1_creationCompleteHandler(event)"> 
<fx:Script> 
    <![CDATA[ 
protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void 
{ 
    if(Accelerometer.isSupported) 
    { 
    accl = new Accelerometer(); 
     accl.addEventListener(AccelerometerEvent.UPDATE,update);    //accl.addEventListener(AccelerometerEvent.UPDATE,adjustImage); 
    } 
} 
private function update(event:AccelerometerEvent):void 
{ 
    this.stage.autoOrients = true; 
    //in the below line I am attaching StageOrienationEvent that will adjust the 
    //values. 
    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE,adjust); 
} 
private function adjust(event:StageOrientationEvent):void 
{ 
    if(event.afterOrientation == StageOrientation.ROTATED_LEFT) 
    { 
    testVal.text ="After OR is LEFT"; 
    } 
    else if(event.afterOrientation == StageOrientation.ROTATED_RIGHT) 
    { 
    testVal.text ="After OR is RIGHT"; 
    } 
    else if(StageAspectRatio.LANDSCAPE) 
    { 
    testVal.text ="StageAspectRatio is Landscape"; 
    } 
    else if(StageAspectRatio.PORTRAIT) 
    { 
    testVal.text="StageAspectRatio is Portrait"; 
    } 
} 

</fx:Script> 

謝謝。

回答

1

終於找到了解決這個花後兩天。

添加在stage.addEventListner orientationChanging事件

private function update(event:AccelerometerEvent):void 
{ 
    this.stage.autoOrients = true; 
    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING,adjust); 
} 

private function adjust(event:StageOrientationEvent):void 
{ 
    switch(event.afterOrientation) 
    { 
    case StageOrientation.DEFAULT: 
     //Do Something here. The Portrait Position. 
     break; 
    case StageOrienatation.ROTATED_LEFT: 
     //Do Something here when you rotate your phone portrait to left side. 
     break; 
    case StageOrienatation.ROTATED_RIGHT: 
     //Do something here when you rotate your phone portrait to right side. 
     break; 
    } 
} 

非常感謝所有誰看這個問題,並嘗試把自己努力的解決方案。:)

+0

請投票,如果你覺得這有用。 –

0

我不是一個實驗編碼器!但是:private function update(event:AccelerometerEvent):void應該是:private function accl(event:AccelerometerEvent):void ??或下面的代碼是這樣的,如果(階段[不是事件] .afterOrientation == ???它只是在更新功能的意見!

+0

由於加入線程。不,沒有關於訪問說明符的問題。 –