使用React Native防止Android应用程序启动时出现灰色状态栏
我有一个使用React Native的Android应用程序。该应用程序总是以灰色状态栏启动,我找不到如何防止这种情况 在my使用React Native防止Android应用程序启动时出现灰色状态栏,android,react-native,Android,React Native,我有一个使用React Native的Android应用程序。该应用程序总是以灰色状态栏启动,我找不到如何防止这种情况 在myMainActivity.java中,我有: protected void onCreate(Bundle savedInstance) { this.setStatusBarToTranslucent(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
MainActivity.java中,我有:
protected void onCreate(Bundle savedInstance) {
this.setStatusBarToTranslucent();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
this.setStatusBarColor();
}
super.onCreate(savedInstance);
....
}
public void setStatusBarToTranslucent() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
View decorView = this.getWindow().getDecorView();
decorView.setOnApplyWindowInsetsListener((v, insets) -> {
WindowInsets defaultInsets = v.onApplyWindowInsets(insets);
return defaultInsets.replaceSystemWindowInsets(
defaultInsets.getSystemWindowInsetLeft(),
0,
defaultInsets.getSystemWindowInsetRight(),
defaultInsets.getSystemWindowInsetBottom());
});
ViewCompat.requestApplyInsets(decorView);
} else {
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
@TargetApi(21)
public void setStatusBarColor() {
this.getWindow().setStatusBarColor(Color.parseColor("#33000000"));
}
这段代码成功地设置了状态栏的颜色和透明度,但它在初始启动后就这样做了,您可以在短时间内清楚地看到状态栏为灰色
我的应用程序主题是:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/my_green</item>
<item name="android:spinnerStyle">@style/CustomSpinner</item>
</style>
我试图设置主题的colorPrimary
值,但这对最初的发布没有帮助 android主题中的状态栏颜色是colorPrimaryDark而不是colorPrimary^^
只需进入本机和ID代码打开主题
您应该让colorPrimaryDark将其更改为状态栏所需的颜色代码 android主题中的状态栏颜色是colorPrimaryDark而不是color primary先生!进入native and ID code open values文件夹,在colors.xml文件中,您应使原色变暗,并将其更改为您所需的条形图颜色代码@Rizwanatta是的,就是这样。你想留下这个作为答案,我来核对:)?
compileSdkVersion 28
minSdkVersion 19
targetSdkVersion 27