Skip to content

Commit 845f5ae

Browse files
committed
fix: 카카오 로그인 웹뷰 화면 status bar 색상 설정 (#95)
1 parent 0bb3869 commit 845f5ae

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

core/auth/src/main/java/com/yapp/breake/core/auth/kakao/KakaoAuthScreen.kt

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.yapp.breake.core.auth.kakao
22

33
import android.annotation.SuppressLint
4+
import android.app.Activity
45
import android.content.Intent
56
import android.view.ViewGroup.LayoutParams
67
import android.webkit.WebResourceError
@@ -9,16 +10,18 @@ import android.webkit.WebView
910
import android.webkit.WebViewClient
1011
import androidx.activity.compose.BackHandler
1112
import androidx.compose.foundation.layout.fillMaxSize
12-
import androidx.compose.foundation.layout.statusBarsPadding
1313
import androidx.compose.runtime.Composable
14+
import androidx.compose.runtime.DisposableEffect
1415
import androidx.compose.runtime.getValue
1516
import androidx.compose.runtime.mutableStateOf
1617
import androidx.compose.runtime.remember
1718
import androidx.compose.runtime.setValue
1819
import androidx.compose.ui.Modifier
1920
import androidx.compose.ui.platform.LocalContext
21+
import androidx.compose.ui.platform.LocalView
2022
import androidx.compose.ui.viewinterop.AndroidView
2123
import androidx.core.net.toUri
24+
import androidx.core.view.WindowInsetsControllerCompat
2225
import com.yapp.breake.core.auth.BuildConfig
2326
import com.yapp.breake.core.auth.R
2427
import timber.log.Timber
@@ -71,6 +74,24 @@ fun KakaoScreen(
7174
}
7275
}
7376

77+
val view = LocalView.current
78+
79+
DisposableEffect(view) {
80+
val window = (view.context as? Activity)?.window ?: return@DisposableEffect onDispose {}
81+
val insetsController = WindowInsetsControllerCompat(window, view)
82+
83+
// 원래 설정 저장
84+
val originalLightStatusBars = insetsController.isAppearanceLightStatusBars
85+
86+
// Status Bar 아이콘을 어둡게 설정 (밝은 배경용)
87+
insetsController.isAppearanceLightStatusBars = true
88+
89+
onDispose {
90+
// 원래 설정으로 복원
91+
insetsController.isAppearanceLightStatusBars = originalLightStatusBars
92+
}
93+
}
94+
7495
val webView = WebView(context).apply {
7596
webViewRef = this
7697

@@ -185,9 +206,7 @@ fun KakaoScreen(
185206

186207
AndroidView(
187208
factory = { webView },
188-
modifier = Modifier
189-
.fillMaxSize()
190-
.statusBarsPadding(),
209+
modifier = Modifier.fillMaxSize(),
191210
onRelease = { webView ->
192211
webView.destroySafely()
193212
},

0 commit comments

Comments
 (0)