targetSdkVersion 35以降のAndroid環境におけるEdge to Edge対応についての注意事項

targetSdkVersion 35以降で確認している事象について

  • targetSdkVersion 35以上のAndroidアプリ環境において、window.decorView.rootViewに対してsetOnApplyWindowInsetsListenerWindowInsetsを設定した場合、アプリの描画領域とKARTEがIAMを表示する領域(=SDKが展開するWebView)のサイズが乖離する事象が発生します
  • このサイズの乖離が生じた場合には、IAM(=KARTE for Appで配信されたポップアップ)の表示や、タップ位置がずれる場合があります

事象の回避方法について

この事象は以下の2つの方法で回避することができます。

方法1

  • window.decorView.rootView に対してWindowInsetsを設定するのではなく、以下のように (window.decorView as ViewGroup).getChildAt(0) 等で取得したViewに対してWindowInsetsを設定する
    	val view = (window.decorView as ViewGroup).getChildAt(0)
      view.setOnApplyWindowInsetsListener { v, insets ->
    	  // insetsを適用
      }
    

方法2

  • 画面全体ではなく個別のViewにWindowInsetsを設定する