Android API 33作為Android操作系統的最新版本,有一項全新的重大特性——全面支持Foldable設備。Foldable設備是指可摺疊屏幕的Android設備,諸如三星Galaxy Fold、華為Mate X等。這些設備擁有一種新奇的使用方式,同時也帶來了很多難題。Android API 33的全面支持,意味着應用開發者可以更好地為Foldable設備設計和開發應用程序。
一、摺疊屏幕的適配方式
安卓API 33為摺疊屏幕的適配提供了以下兩種方式。
1、多窗口
在摺疊設備中,應用可以同時在多個窗口中運行。可以通過setLaunchWindowingMode()方法來指定應用的窗口模式。
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (resources.configuration.isFolded) { setLaunchWindowingMode(ActivityInfo.WindowingMode.MULTI_WINDOW) } }
2、窗口間聯動
通過Activity.setWindowLayoutInfo() API可以創建一個窗口聯動的XML文件,用於確保窗口在使用移動方式時保持同步。窗口聯動功能可以讓用戶更加方便地同時操作多個窗口,在配置文件中定義好活動視圖布局,就可以實現在摺疊設備上的窗口聯動。
二、摺疊式鍵盤
所有Foldable設備都擁有專用鍵盤,對於開發人員來說,這對於UI的設計提出了新要求。AndroidAPI 33針對Foldable設備的鍵盤特性,提供了FoldableKeyboardSensor類,允許應用程序知道設備是否在摺疊或展開狀態。開發者可以使用它來更新應用的UI,使其更適合當前的鍵盤狀態。
fun showHidePassword(displayPassword: Boolean) { isPasswordVisible = displayPassword inputType = InputType.TYPE_CLASS_TEXT + (if (isPasswordVisible) InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD else InputType.TYPE_TEXT_VARIATION_PASSWORD) } val sensor = FoldableKeyboardSensor(this) sensor.onChange { display: Boolean, _: Int, _: Int, _: FloatArray, _: Int -> showHidePassword(display) }
三、屏幕分層支持
Android API 33支持摺疊設備的屏幕分層特性。在橫向模式下,屏幕可以分成多個Panel類型,每個Panel在摺疊和展開時都有不同的顯示方式。利用這種分層模式,開發者可以更好地創建適合屏幕尺寸的應用。
結尾
Android API 33的全面支持Foldable設備,為Android應用開發者帶來了很多新的機遇。藉助於這些新特性,我們將可以更好地創建出適合Foldable設備的應用,為用戶帶來全新的體驗。
原創文章,作者:HPKE,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/141654.html