build(app): bump compileSdk/targetSdk to 35
- compileSdk 35, targetSdk 35로 상향 - edge-to-edge를 적용하고 전체 화면에 insets를 추가 적용하여 이전과 동일하게 statusbar, navigationbar를 침범하지 않도록 처리
This commit is contained in:
4
.idea/deploymentTargetSelector.xml
generated
4
.idea/deploymentTargetSelector.xml
generated
@@ -4,10 +4,10 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2024-10-14T08:13:14.161127Z">
|
||||
<DropdownSelection timestamp="2025-10-23T14:28:01.940002Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=2cec640c34017ece" />
|
||||
<DeviceId pluginId="LocalEmulator" identifier="path=/Users/klaus/.android/avd/Pixel_9_Pro.avd" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
|
||||
@@ -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