我可以通過在onCreate
中使用setRequestedOrientation
以編程方式完美管理方向更改。Android:在創建之前設置活動方向,但不在清單中(HDMI插入問題)
一切工作得很好,直到我插入HDMI電纜。在此之後,平板電腦「希望」處於橫向模式。因此,當我打開一個活動時,它首先在「風景」中顯示,然後在「人像」中顯示後(因爲我打電話給setRequestedOrientation(variable_with_orientation_desired_by_the_user)
,其中variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
在onCreate
正如您可以「看到」一樣,我的應用程序在每個活動用戶打開;
如果我在清單中設置了activity的方向,這個問題部分消失了,因爲清單中的方向與用戶選擇的方向相同,如果它們不同,則相同的行爲再次開始。
我想這一點,但沒有成功:
@Override
public void onCreate(final Bundle saved)
{
setRequestedOrientation(ScreenOrientation);
super.onCreate(icicle);
}
那麼,在它創建它之前,有什麼方法可以告訴android它必須創建我的活動的方向? (但它不能在清單)
給你'setRequestedOrientation(ScreenOrientation);''後super.onCreate(冰柱); '而且,你使用的是什麼版本的API? – Praveenkumar
...真的嗎?他只是說這就是發生意外行爲的原因(因爲活動已創建,並且僅在已經顯示之後設置了方向)。 – matt5784
API:13(3.2)。另外我在super.OnCreate之後嘗試過setRequestedOrientation(ScreenOrientation)。但無論我在哪裏打電話,我都會得到同樣的行爲。正如我所描述的那樣,唯一可行的方法是設置清單中的東西,但我得到副作用。 – Christian