[英]Screen still can rotate even if orientation is set to Portrait
我知道磁貼似乎非常令人困惑,但是,是的,它發生在我的應用程序中。 好的,這是故事。
以下是清單中的關鍵設置:
android:screenOrientation="portrait"
android:configChanges="orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
在Activity.java中,我還重寫了onConfigurationChanged(Configuration config)
,它將打印出當前方向。
這是最有趣的部分。 我使用Intent從風景中的應用程序中啟動一個可旋轉的應用程序,例如Gallery(假設它可以旋轉)。 將手機放在橫向,然后按返回鍵。 新啟動的活動(在本例中為Gallery)將退出,我的應用程序將重新啟動。 從理論上講,由於我將screenOrientation
設置為縱向,所以我的應用程序應該以縱向顯示。 但是,實際上,我的應用程序僅停留在縱向狀態1秒鍾,然后跳至橫向,然后再次跳回縱向。
我啟動一個線程打印出requestedOrientation
我的申請后onRestart
被調用。 而且我發現輸出始終為“ 1”,即“肖像”。 但是, onConfigurationChanged
的輸出給出了我當前的風景方向!
所以,我很困惑。 怎么會這樣 有人可以給我一些建議嗎?
可能是您在活動中使用屏幕方向。 但是另一個活動將是輪換。 在下面的示例中,ActivityA的方向不會改變,但ActivityB會旋轉。 如果您在應用代碼中編寫了android:screenOrientation =“ portrait”,但未在活動中提及任何內容。 它沒有任何作用。 因此,請在活動中提及screenOrientation。
<activity
android:name=".ActivityA"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".ActivityB">
</activity>
您是否正在使用android:screenOrientation="portrait" android:configChanges="orientation|screenSize|keyboardHidden"
在您的應用程序內部或處於活動狀態
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.