2011-10-14 25 views
0

我想處理屏幕方向在樣品application.I已經實現的代碼如下:如何在android 2.3版本中處理方向?

WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); 

    if(wm.getDefaultDisplay().getOrientation() == 1) 
    { 

     Log.v("Orientation111", "Condition true in if black"); 


    } 
    else 
    { 

     Log.v("Orientation222", "Condition truein else black"); 


    } 

我正在吃午飯的Android 2.3版本的API級別的應用程序:9,當過我改變我的方向可以執行「if」黑色從potrite到land scape。接下來,我改變了從land scape到potrite的方向,然後我沒有得到如果black.It與Android 2,3版本發生。我該如何處理這個問題?

plzzz任何機構幫我...

回答

-1
Editing Answer based on feedback: 

在Android上的所有現有的用戶界面元素(如按鈕,文本框,複選框等)被摧毀,重繪的方向變化。這也意味着UI元素的狀態會在方向更改時丟失(例如,選中的複選框可能會被取消選中)。爲了處理這種情況,您的應用程序需要收到有關此類事情的通知(此處的方向更改)。 Android提供了通過onConfigurationChanged方法監聽這些事件的工具。您需要在活動類中重寫此方法,並且還要聲明在活動聲明中通過將android:configChanges="orientation"屬性添加到您的活動聲明中來覆蓋此方法。現在onConfigurationChanged將爲您提供持久/恢復應用程序狀態的機會。您也可以在此方法中添加日誌消息代碼以查看當前的方向模式。

查看this tutorial瞭解更多詳情。

+1

嘿,我不指望這種類型的answer.i可以處理android 1.6中的上述代碼,但不能處理android 2.3.plzz中的方向刪除你的答案。有人給出合適的答案。 –

+0

編輯我的答案 – Saurabh