package kr.sblog.slimbudget; import android.os.Bundle; import android.view.View; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowCompat; import androidx.core.view.WindowInsetsCompat; import com.getcapacitor.BridgeActivity; public class MainActivity extends BridgeActivity { @Override public void onCreate(Bundle savedInstanceState) { registerPlugin(CardNotifPlugin.class); super.onCreate(savedInstanceState); // targetSdk 35+ 의 에지투에지 강제 환경에서 콘텐츠가 상태바/소프트키 뒤로 깔리는 것을 방지. // 구글 권장 패턴: 콘텐츠 루트에 시스템 바 인셋만큼 패딩을 적용하고 인셋을 소비(CONSUMED)한다. // → 헤더는 상태바 아래, 하단 고정 내비는 소프트키 위에 위치. WindowCompat.setDecorFitsSystemWindows(getWindow(), false); final View content = findViewById(android.R.id.content); ViewCompat.setOnApplyWindowInsetsListener(content, (v, windowInsets) -> { Insets bars = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(bars.left, bars.top, bars.right, bars.bottom); return WindowInsetsCompat.CONSUMED; }); ViewCompat.requestApplyInsets(content); } }