2012-10-18 174 views
0

我使用的getrotation函數創建我的活動時,檢測一個畫面的初始旋轉不同的值。但是當我用來註銷什麼返回這個函數時,我提到在我的P1000上,當rotation = 1或3時,這意味着我的平板電腦處於橫向模式。但在我的10.1選項卡上,當rotation = 0或2時,這意味着我的平板電腦處於橫向模式。這導致我在背景圖像使用替換中出現問題。這是我的代碼:getrotation()返回關於三星Galaxy P1000(4.1果凍豆)和三星Galaxy Tab 10.1(3.2)

HomeBackground = (ImageView) findViewById(R.id.home_background); 
    Display display = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    int rotation = display.getRotation(); 

     if (rotation == 1 || rotation == 3) { 
     HomeBackground.setBackgroundResource(R.drawable.home_bg_landscape); 
    } else { 
     HomeBackground.setBackgroundResource(R.drawable.home_bg_portrait); 
    } 

那麼最新的解決方案使用另一種方法檢測屏幕的初始旋轉?或者我的錯誤是什麼? 謝謝。

回答

3

從文檔Display.getRotation()

返回從「自然」屏幕方向旋轉。

Galaxy Tab 10.1的自然方向是風景,我假設其他設備是肖像。

This answer可能在確定默認的方向是什麼

+0

所以幫什麼解決方案,以檢測當用戶啓動應用程序,而不是「自然的」屏幕方向的初始旋轉? – Anthony

+0

[鏈接](http://stackoverflow.com/questions/4553650/how-to-check-device-natural-default-orientation-on-android-i-e-get-landscape)對我來說是非常有用的。那是我需要的!謝謝。 – Anthony