我已经使用了<StatusBar hidden />
,我在componentWillMount()和render()方法中也尝试了StatusBar.setHidden(true)
,并且它在我第一次打开组件时起作用。但是,如果我导航到另一个屏幕,然后再次打开上一个屏幕,则状态栏的大多数时间都会出现。
有没有办法确保状态栏始终隐藏在每个组件中?
提前致谢
编辑:
MainActivity.java
package com.wixnav2;
import com.reactnativenavigation.controllers.SplashActivity;
import android.content.Intent;
import android.content.res.Configuration;
public class MainActivity extends SplashActivity {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Intent intent = new Intent("onConfigurationChanged");
intent.putExtra("newConfig", newConfig);
this.sendBroadcast(intent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
Window window = getWindow();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(this, R.color.transparent));
}
}
}
答案 0 :(得分:1)
您可以在活动类<{p>>的onCreate
中使用此代码
if (Build.VERSION.SDK_INT >= 21) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
如果使用SplashActivy,您可以使用此代码
Window window = getWindow();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(this, R.color.transparent));
}