build(app): bump compileSdk/targetSdk to 35
- compileSdk 35, targetSdk 35로 상향 - edge-to-edge를 적용하고 전체 화면에 insets를 추가 적용하여 이전과 동일하게 statusbar, navigationbar를 침범하지 않도록 처리
This commit is contained in:
@@ -13,7 +13,7 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace 'kr.co.vividnext.sodalive'
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
|
||||
viewBinding {
|
||||
enabled true
|
||||
@@ -33,7 +33,7 @@ android {
|
||||
defaultConfig {
|
||||
applicationId "kr.co.vividnext.sodalive"
|
||||
minSdk 23
|
||||
targetSdk 34
|
||||
targetSdk 35
|
||||
versionCode 196
|
||||
versionName "1.43.0"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||
@@ -44,9 +48,31 @@ abstract class BaseActivity<T : ViewBinding>(
|
||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
||||
|
||||
binding = inflate(layoutInflater)
|
||||
|
||||
// 1) 시스템 바 아래로 그리기
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
|
||||
setContentView(binding.root)
|
||||
|
||||
// 2) 시스템 바 아이콘(라이트/다크) 지정
|
||||
val controller = WindowCompat.getInsetsController(window, binding.root)
|
||||
controller.systemBarsBehavior =
|
||||
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||
|
||||
val isDarkTheme = (resources.configuration.uiMode and 0x30) == 0x20 // NIGHT_YES 여부 단순 판단
|
||||
controller.isAppearanceLightStatusBars = !isDarkTheme
|
||||
controller.isAppearanceLightNavigationBars = !isDarkTheme
|
||||
|
||||
setupView()
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
|
||||
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
|
||||
// 루트는 좌/우/하만 처리(상단은 Toolbar에 위임)
|
||||
v.setPadding(bars.left, bars.top, bars.right, bars.bottom)
|
||||
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
|
||||
@@ -14,8 +14,10 @@
|
||||
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>
|
||||
<item name="android:statusBarColor">@color/black</item>
|
||||
<item name="android:navigationBarColor">@color/black</item>
|
||||
<!-- 시스템 바 위로 그리기 + 투명 바 -->
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||
</style>
|
||||
|
||||
<style name="EditTextStyle" parent="Theme.AppCompat.Light">
|
||||
|
||||
Reference in New Issue
Block a user