[英]How do I make android activity orientation stick to starting value?
在我們開始之前,這不是這個舊問題的重復: Android:如何堅持與活動開始時相同的方向,我的用例更加具體,並且由於提出並回答了另一個問題,因此新選項變得可用
我的應用程序中有一個“查看圖像”屏幕。 屏幕可在任一方向工作,但在查看圖像期間不應改變:
portrait
並打開查看屏幕,圖像應該顯示portrait
landscape
,圖像仍應顯示為portrait
landscape
方式退出並重新進入屏幕,則圖像應landscape
顯示portrait
並重新進入屏幕,圖像應該再次portrait
顯示換句話說,我希望屏幕同時支持縱向和橫向,但只支持在我打開該圖像的活動時處於活動狀態的那個。 我不想在查看時更新配置更改。
我已經嘗試了新值nosensor
並已locked
,但是這兩個都將值硬編碼為 0 度,我看不到實現差異。 我不相信我可以在活動/片段生命周期內以編程方式檢查方向,因為這發生在所有內容都被拆除並重新創建之后。 我需要清單的解決方案 - 是否存在這樣的設置? 還是一種以編程方式進行的方法,同時避免在不保留實例的情況下重新創建/重繪我的視圖?
我認為你可以通過Manifest
來實現這一點
<activity android:name=".FirstActivity" android:screenOrientation="user">
<intent-filter>
<action android:name="android.intent.action.Main" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity" android:screenOrientation="locked">
<intent-filter>
<action android:name="android.intent.action.View" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
來源: 活動元素,部分android:screenOrientation
"locked" 將方向鎖定為其當前旋轉,無論是什么。 在 API 級別 18 中添加。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.