반응형
코드로 statusBar 색상을 변경할때
setSystemUiVisibility()가 Deprecated로 LIGHT_STATUS_BAR(글자색) 값을 줄수 없었다
아래와 같은 방법으로 상태바 색상을 바꾸면 됩니다.
fragment에서도 가능합니다.
SDK 버전이 API 30 이상인경우(안드로이드 R 버전 이상인경우)
1
2
3
4
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
WindowInsetsControllerCompat(window, view).isAppearanceLightStatusBars = true
activity!!.window.statusBarColor = ContextCompat.getColor(context!!,R.color.statusBarColor)
}
|
cs |
29 이하버전의 경우
1
2
3
4
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity!!.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)
activity!!.window.statusBarColor = ContextCompat.getColor(context!!,R.color.statusBarColor)
}
|
cs |
navigation bar 색상을 바꾸고 싶은경우는 이렇게 사용하면 됩니다.
WindowInsetsControllerCompat(activity!!.window, view).isAppearanceLightNavigationBars
반응형
'프로그래밍' 카테고리의 다른 글
[Kotlin] 안드로이드 10 외부 저장소 앱 개별공간에서 공용 공간으로 파일복사 (0) | 2022.10.21 |
---|---|
[Kotlin] 1000자 단위 쉼표 붙이기 Extensions (0) | 2022.06.16 |
Firestore Could not deserialize object 오류 (0) | 2021.05.27 |
안드로이드 앱 스크린샷 캡쳐 방지코드 (0) | 2021.04.06 |