Skip to content

Commit 62e4339

Browse files
committed
add setStatusBarColor
Signed-off-by: alperozturk <[email protected]>
1 parent b46bd3f commit 62e4339

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

ui/src/main/java/com/nextcloud/android/common/ui/util/extensions/AppCompatActivityExtensions.kt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ package com.nextcloud.android.common.ui.util.extensions
99

1010
import android.graphics.Color
1111
import android.os.Build
12+
import android.view.WindowInsets
1213
import androidx.activity.SystemBarStyle
1314
import androidx.activity.enableEdgeToEdge
15+
import androidx.annotation.ColorInt
1416
import androidx.appcompat.app.AppCompatActivity
1517

1618
@JvmOverloads
@@ -28,3 +30,21 @@ fun AppCompatActivity.adjustUIForAPILevel35(
2830

2931
window.addSystemBarPaddings()
3032
}
33+
34+
fun AppCompatActivity.setStatusBarColor(
35+
@ColorInt color: Int
36+
) {
37+
window.decorView.setOnApplyWindowInsetsListener { view, insets ->
38+
val statusBarHeight =
39+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
40+
insets.getInsets(WindowInsets.Type.statusBars()).top
41+
} else {
42+
@Suppress("DEPRECATION")
43+
insets.systemWindowInsetTop
44+
}
45+
46+
view.setBackgroundColor(color)
47+
view.setPadding(0, statusBarHeight, 0, 0)
48+
insets
49+
}
50+
}

0 commit comments

Comments
 (0)