我正在使用React Native来构建我的android应用程序,并且我遵循了tutorial来设置我的启动画面。这是result。我的主要问题是状态栏的颜色变为黑色,我无法通过将<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
文件中的styles.xml
和<color name="blue">#009CD7</color>
,<color name="colorPrimaryDark">#009CD7</color>
中的{ {1}}文件。
奖金问题:如何在不对边距进行硬编码的情况下使图像居中,而不管应用程序运行在哪个设备上,使它保持居中?
答案 0 :(得分:2)
在当前的启动主题中再添加colorPrimaryDark
个项目,或创建一个新项目。
<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>
然后在显示SplashScreen时将其用作第二个参数。
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
SplashScreen.show(this, R.style.SplashTheme);
super.onCreate(savedInstanceState);
}
}
答案 1 :(得分:1)
如果要更改TaskBar的颜色,只需在输出函数中添加活动和所需的颜色即可。
fun setTaskBarColored(colored: Int,activity: Activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.window!!.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
activity.window!!.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
activity.window!!.statusBarColor = ContextCompat.getColor(activity, colored)
}
}
导航栏也是如此
fun setNavigationBarColored(colored: Int, activity: Activity){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.window!!.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
activity.window!!.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
activity.window!!.navigationBarColor = ContextCompat.getColor(activity, colored)
}
}
答案 2 :(得分:0)
您可以简单地将此JSX代码添加到应用程序的根目录,而无需编辑任何本机文件。
<StatusBar backgroundColor="blue" barStyle="light-content" />
此外,为了使图像居中,请用视图将其包裹起来并添加样式“ {justifyContent:“ center”,alignItems:“ center”}”。如果那不起作用,则将这种样式直接添加到图像组件“ alignSelf:'居中”
答案 3 :(得分:0)
为此在android / app / src / main / res / values / styles.xml中创建样式定义:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="SplashTheme" parent="SplashScreen_SplashTheme">
<item name="colorPrimaryDark">your_color</item>
</style>
</resources>
现在您可以更改显示方法以包括您的自定义样式:
SplashScreen.show(this, R.style.SplashTheme);
您现在不喜欢:)