系統會忽略螢幕方向和可調整大小的限制

Android 應用程式現在可在各種裝置上執行 (例如手機、平板電腦、折疊式裝置、桌機、車輛和電視),並支援大螢幕上的視窗模式 (例如分割畫面和電腦視窗),因此開發人員應建構可配合任何螢幕和視窗大小調整的 Android 應用程式,無論裝置螢幕方向為何。在現今多裝置的世界中,限制螢幕方向和大小調整等範例過於嚴苛。

忽略螢幕方向、是否可調整大小和顯示比例限制

如果應用程式指定 Android 17 以上版本,螢幕方向、大小調整和長寬比限制將不再適用於最小寬度大於 600dp 的螢幕。應用程式會填滿整個顯示視窗,無論顯示比例或使用者偏好的螢幕方向為何,都不會出現側邊黑邊。

Android 17 移除了 Android 16 提供的大螢幕裝置螢幕方向和大小調整限制的暫時開發人員停用選項

這項異動會導入新的標準平台行為。Android 正在朝向應用程式應能適應各種螢幕方向、螢幕大小和顯示比例的模式發展。固定螢幕方向或限制大小調整等限制,會阻礙應用程式的適應性。讓應用程式具備適應性,提供最佳使用者體驗。

您也可以使用應用程式相容性架構,並啟用 UNIVERSAL_RESIZABLE_BY_DEFAULT 相容性標記,測試這項行為。

常見的破壞性變更

忽略方向、大小調整和長寬比限制,可能會影響應用程式在部分裝置上的 UI,尤其是專為鎖定直向的小版面配置設計的元素。舉例來說,應用程式可能會有版面配置延展、螢幕外動畫和元件等問題。您對顯示比例或螢幕方向的任何假設,都可能導致應用程式出現視覺問題。進一步瞭解如何避免這些問題,並改善應用程式的適應性行為。

在橫向摺疊式裝置上,或在多視窗、桌面視窗或連線螢幕等情境中計算顯示比例時,常見的問題是相機預覽畫面出現延展、旋轉或裁剪情形。應用程式會假設相機功能 (例如顯示比例和感應器方向) 與裝置功能 (例如裝置方向和自然方向) 之間存在固定關係,因此大螢幕和摺疊式裝置經常會發生這個問題。進一步瞭解如何管理攝影機預覽畫面

允許裝置旋轉會導致更多活動重建,如果未妥善保留,可能會導致使用者狀態遺失。請參閱「儲存 UI 狀態」,瞭解如何正確儲存 UI 狀態。

導入作業詳細資料

在全螢幕和多視窗模式下,大型螢幕裝置會忽略下列資訊清單屬性和執行階段 API:

系統會忽略 screenOrientation, setRequestedOrientation()getRequestedOrientation() 的下列值:

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

顯示大小調整方面,android:resizeableActivity="false", android:minAspectRatioandroid:maxAspectRatio 不會產生任何影響。

例外狀況

在下列情況下,Android 17 的螢幕方向、大小調整功能和長寬比限制不適用:

  • 遊戲 (根據 android:appCategory 旗標)
  • 使用者在裝置的顯示比例設定中,明確選擇採用應用程式的預設行為
  • 最小寬度小於 sw600dp 的螢幕