[英]Need orientation locked to landscape, but still need notification when rotated to portrait
我正在使用一個Android應用程序,該應用程序要求將屏幕鎖定為橫向,因為UI僅針對橫向而設計。 但是,屏幕上發生的事情仍然需要知道何時將設備旋轉到縱向模式。 如果我將以下內容放入AndroidManifest.xml中:
android:screenOrientation="landscape"
這樣可以防止觸發屏幕方向更改通知(onConfigurationChanged)。 但是,如果將screenOrientation設置為“ sensor”,則OS會自動旋轉UI,而無法阻止UI:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
//Can't override newConfig and force landscape? wtf?
super.onConfigurationChanged(newConfig);
}
我只是以錯誤的方式來對待嗎? 如何保持屏幕風景(防止操作系統自動更改方向),但在更改方向時仍會收到通知?
我認為您想要的是:
<activity ...
android:configChanges="orientation"
...
根據Android清單文件的清單<activity>
元素:
android:configChanges
列出活動將自行處理的配置更改。 在運行時發生配置更改時,默認情況下將關閉活動並重新啟動活動,但是聲明具有此屬性的配置將阻止活動重新啟動。 而是,活動保持運行狀態,並調用其
onConfigurationChanged()
方法。
...
值:“方向”
說明:屏幕方向已更改-用戶旋轉了設備。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.