簡體   English   中英

如何使 android 活動定向堅持起始值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM