Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change the StatusBar color of the splash screen?

I'm using React Native for building my android application and I've followed this tutorial to set up my splash screen. Here is the result. My main problem is that the status bar color changes to black, I can't solve this by having <item name="colorPrimaryDark">@color/colorPrimaryDark</item> in my styles.xml file, and <color name="blue">#009CD7</color>, <color name="colorPrimaryDark">#009CD7</color> in my colors.xml file.

Bonus question: how to center the image without hardcoding a margin so that it stays in the center regardless of the device the app is running on?

like image 919
naderabdalghani Avatar asked Jan 24 '26 19:01

naderabdalghani


1 Answers

Add colorPrimaryDark one more item in your current splash theme or create a new one.

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:statusBarColor">@android:color/white</item>
    <item name="android:windowLightStatusBar">true</item>
    <item name="android:background">@drawable/background_splash</item>
    <item name="colorPrimaryDark">@android:color/white</item>
</style>

Then use it as a second parameter while showing SplashScreen.

public class MainActivity extends ReactActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        SplashScreen.show(this, R.style.SplashTheme, true);
        super.onCreate(savedInstanceState);
    }
}
like image 189
Shahab Rauf Avatar answered Jan 26 '26 10:01

Shahab Rauf



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!