본문 바로가기

Android

[안드로이드]Android 15 (SDK 35) UI/화면 관련 변경사항과 대응 방법

반응형

Android 15(API 35)로 타깃 SDK를 올리면 Google Play 정책뿐만 아니라 UI/화면 처리 방식에서도 여러 변화가 생깁니다. 이 글에서는 주요 변경사항과 실제로 앱에 적용해야 할 수정 방안을 정리했습니다.


1. Edge-to-Edge 모드 강제 적용

🔄 변경 내용

  • Android 15에서 SDK 35 이상 타깃 앱은 기본적으로 Edge-to-Edge 모드가 강제됩니다.
  • 상태바(Status bar), 내비게이션 바(Navigation bar)가 투명해지고, 앱 콘텐츠가 화면 끝까지 확장됩니다.

🛠 수정 방안

  • WindowInsets API를 사용해 시스템 바 영역을 안전하게 처리해야 합니다.
  • 예시:
WindowCompat.setDecorFitsSystemWindows(window, false)

ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
    val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
    v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
    insets
}

 

2. 시스템 바 색상 처리 방식 변경

🔄 변경 내용

  • window.statusBarColor 직접 설정 방식이 deprecated.
  • 대신 투명 처리 후 배경은 앱이 직접 그려야 합니다.

🛠 수정 방안

WindowInsetsControllerCompat(window, window.decorView).isAppearanceLightStatusBars = true

3. 화면 크기 계산 방식 변경

🔄 변경 내용

  • Configuration.screenWidthDp / screenHeightDp 값이 시스템 바까지 포함하는 방식으로 바뀌었습니다.

🛠 수정 방안

val metrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(this)
val bounds = metrics.bounds
val width = bounds.width()
val height = bounds.height()

4. 디스플레이 컷아웃(Display Cutout) 처리

🛠 수정 방안

val insets = ViewCompat.getRootWindowInsets(window.decorView)
val safeInsets = insets?.getInsets(WindowInsetsCompat.Type.systemBars())

view.setPadding(
    safeInsets?.left ?: 0,
    safeInsets?.top ?: 0,
    safeInsets?.right ?: 0,
    safeInsets?.bottom ?: 0
)

 

5. TextView/폰트 렌더링 변경

🛠 수정 방안

<TextView
    android:ellipsize="end"
    android:scrollHorizontally="true"
    android:elegantTextHeight="false"/>

 

6. EditText 줄 높이 변경

🛠 수정 방안

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:lineHeight="20sp" />

 

6. 네이티브 라이브러리 점검 (정책 대응)

readelf -lW libYourNative.so | grep "Align"
# 결과 Align 0x4000 → 정상
# 결과 Align 0x1000 → 수정 필요

 

 

✅ 마무리

  • Android 15의 가장 큰 UI 변화는 Edge-to-Edge 강제 적용WindowInsets 기반 처리입니다.
  • 단순히 Google Play 정책 대응(16KB 페이지 크기)뿐 아니라, 화면/UI 변경사항까지 조기에 테스트해야 앱 품질을 지킬 수 있습니다.
  • 특히 풀스크린 UI, 다국어 앱, 커스텀 status/navigation bar 처리 앱은 반드시 Android 15 기기에서 검증하세요.
반응형