2014-02-06 28 views
1

我創建了一個示例應用程序,它使用按鈕和自動旋轉啓用triger全屏,但使用自動旋轉後,如果我使用另一個方向更改的按鈕,然後單擊按鈕後,我的活動canot自動旋轉再次改變方向,只有按鈕現在可以改變模式,自動旋轉不能再使用了。如何解決這個問題?如何啓用自動旋轉android後再觸發點擊按鈕?

這是正常嗎?

按鈕調整

public void clickResize(View view) { 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 

按鈕全屏的addflags,clearflags和configurationChanged()

private void onFullscreen() { 
     window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
    } 

private void offFullscreen() { 
    window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
    window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     onFullscreen(); 
}   
     } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
      offFullscreen(); 
    }  
} 
+0

你找到任何解決方案?我的應用程序中有相同的問題:( – MAY3AM

回答

0

使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);到你的活動無法自動旋轉

public void clickFullscreen(View view) { 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
} 

方法

+1

不行,它沒有工作,問題是自動旋轉是啓用和沒有問題,它使用自動旋轉開關,但旋轉後,如果我點擊另一個buton設置爲橫向模式不使用自動我點擊按鈕後旋轉,自動旋轉不再工作。 –

2

我都面臨着同樣的問題,解決如下:

設置setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)通過代碼旋轉後:

來自:

public void clickResize(View view) { 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);} 

要:

public void clickResize(View view) { 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)} 
相關問題