Skip to content

Commit 1b77964

Browse files
Merge pull request #668 from nextcloud/feature/add-set-status-bar-color-functionality
Feature - Set StatusBar Color
2 parents 1b887d6 + 88654d1 commit 1b77964

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

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

Lines changed: 17 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,18 @@ fun AppCompatActivity.adjustUIForAPILevel35(
2830

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

0 commit comments

Comments
 (0)