Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ interface OnModalDismissedListener {
setAnimation(screenParams);
setStatusBarStyle(screenParams.styleParams);
setNavigationBarStyle(screenParams.styleParams);
setDrawUnderStatusBar(screenParams.styleParams);
}

private void setStatusBarStyle(StyleParams styleParams) {
Expand All @@ -128,6 +129,12 @@ private void setStatusBarStyle(StyleParams styleParams) {
StatusBar.setTextColorScheme(window.getDecorView(), styleParams.statusBarTextColorScheme);
}

private void setDrawUnderStatusBar(StyleParams styleParams) {
Window window = getWindow();
if (window == null) return;
StatusBar.displayOverScreen(window.getDecorView(), styleParams.drawUnderStatusBar);
}

private void setNavigationBarStyle(StyleParams styleParams) {
NavigationBar.setColor(getWindow(), styleParams.navigationBarColor);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ public String toString() {
public StatusBarTextColorScheme statusBarTextColorScheme;
public Color statusBarColor;
public boolean statusBarHidden;
public boolean drawUnderStatusBar;
public Color contextualMenuStatusBarColor;
public Color contextualMenuButtonsColor;
public Color contextualMenuBackgroundColor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public StyleParams parse() {
result.statusBarColor = getColor("statusBarColor", getDefaultStatusBarColor());
result.statusBarHidden = getBoolean("statusBarHidden", getDefaultStatusHidden());
result.statusBarTextColorScheme = StatusBarTextColorScheme.fromString(params.getString("statusBarTextColorScheme"), getDefaultStatusBarTextColorScheme());
result.drawUnderStatusBar = params.getBoolean("drawUnderStatusBar", getDefaultDrawUnderStatusBar());
result.contextualMenuStatusBarColor = getColor("contextualMenuStatusBarColor", getDefaultContextualMenuStatusBarColor());
result.contextualMenuButtonsColor = getColor("contextualMenuButtonsColor", getDefaultContextualMenuButtonsColor());
result.contextualMenuBackgroundColor = getColor("contextualMenuBackgroundColor", getDefaultContextualMenuBackgroundColor());
Expand Down Expand Up @@ -281,6 +282,10 @@ private boolean getDefaultStatusHidden() {
return AppStyle.appStyle != null && AppStyle.appStyle.statusBarHidden;
}

private boolean getDefaultDrawUnderStatusBar() {
return AppStyle.appStyle != null && AppStyle.appStyle.drawUnderStatusBar;
}

private StyleParams.Font getDefaultBottomTabsFontFamily() {
return AppStyle.appStyle == null ? new StyleParams.Font() : AppStyle.appStyle.bottomTabFontFamily;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ public Screen(AppCompatActivity activity, ScreenParams screenParams, LeftButtonO
createViews();
EventBus.instance.register(this);
sharedElements = new SharedElements();
setDrawUnderStatusBar(styleParams.drawUnderStatusBar);
}

public void registerSharedElement(SharedElementTransition toView, String key) {
Expand Down Expand Up @@ -106,6 +107,7 @@ public void setStyle() {
setStatusBarHidden(styleParams.statusBarHidden);
setStatusBarTextColorScheme(styleParams.statusBarTextColorScheme);
setNavigationBarColor(styleParams.navigationBarColor);
setDrawUnderStatusBar(styleParams.drawUnderStatusBar);
topBar.setStyle(styleParams);
if (styleParams.screenBackgroundColor.hasColor()) {
setBackgroundColor(styleParams.screenBackgroundColor.getColor());
Expand Down Expand Up @@ -174,6 +176,10 @@ private void setStatusBarHidden(boolean statusBarHidden) {
StatusBar.setHidden(((NavigationActivity) activity).getScreenWindow(), statusBarHidden);
}

private void setDrawUnderStatusBar(boolean drawUnderStatusBar) {
StatusBar.displayOverScreen(this, drawUnderStatusBar);
}

private void setStatusBarTextColorScheme(StatusBarTextColorScheme textColorScheme) {
StatusBar.setTextColorScheme(this, textColorScheme);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,23 @@ public static void setColor(Window window, StyleParams.Color statusBarColor) {
}
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void displayOverScreen(View view, boolean shouldDisplay) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return;

if(shouldDisplay) {
int flags = view.getSystemUiVisibility();
flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
flags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
view.setSystemUiVisibility(flags);
} else {
int flags = view.getSystemUiVisibility();
flags &= ~View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
flags &= ~View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
view.setSystemUiVisibility(flags);
}
}

@TargetApi(Build.VERSION_CODES.M)
public static void setTextColorScheme(View view, StatusBarTextColorScheme textColorScheme) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
Expand Down
1 change: 1 addition & 0 deletions docs/styling-the-navigator.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ this.props.navigator.setStyle({
navBarButtonFontFamily: 'sans-serif-thin', // Change the font family of textual buttons
topBarElevationShadowEnabled: false, // default: true. Disables TopBar elevation shadow on Lolipop and above
statusBarColor: '#000000', // change the color of the status bar.
drawUnderStatusBar: false, // default: false, will draw the screen underneath the statusbar. Useful togheter with statusBarColor: transparent
collapsingToolBarImage: "http://lorempixel.com/400/200/", // Collapsing Toolbar image.
collapsingToolBarImage: require('../../img/topbar.jpg'), // Collapsing Toolbar image. Either use a url or require a local image.
collapsingToolBarCollapsedColor: '#0f2362', // Collapsing Toolbar scrim color.
Expand Down
1 change: 1 addition & 0 deletions src/deprecated/platformSpecificDeprecated.android.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ function convertStyleParams(originalStyleObject) {
statusBarColor: processColor(originalStyleObject.statusBarColor),
statusBarHidden: originalStyleObject.statusBarHidden,
statusBarTextColorScheme: originalStyleObject.statusBarTextColorScheme,
drawUnderStatusBar: originalStyleObject.drawUnderStatusBar || false,
topBarReactView: originalStyleObject.navBarCustomView,
topBarReactViewAlignment: originalStyleObject.navBarComponentAlignment,
topBarReactViewInitialProps: originalStyleObject.navBarCustomViewInitialProps,
Expand Down