打开应用程序时StatusBar为灰色

时间:2017-05-14 18:58:21

标签: xamarin xamarin.android android-styles android-statusbar

在我用Xamarin.Android编写的应用程序中。当应用程序刚刚打开时(应用程序打开的时间),状态栏颜色为灰色。

enter image description here

但是当应用程序最终运行时,状态看起来是我在Styles.xml中分配的深蓝色。

enter image description here

这是主题

<resources>
  <style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo"></style>

  <style name="Theme.DesignDemo2" parent="Base.Theme.DesignDemo"></style>

  <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:statusBarColor">@color/colorPrimary</item>
  </style>

  <style name="Theme.DesignDemo.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

  <style name="Theme.DesignDemo.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

Styles.xml V-21

<resources>
  <style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo">
    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:statusBarColor">@color/primary_dark</item>
  </style>
</resources>

colors.xml

<resources>
  <color name="colorPrimary">#002868</color>
  <color name="colorPrimaryDark">#002053</color>
  <color name="colorPrimaryRed">#AF0505</color> <!--BF0A30-->
  <color name="colorAccent">#b2dfdb</color>
  <color name="colorWhite">#FFF</color>
</resources>

例如,如果您查看WhatsApp,即使打开它也需要几秒钟,但使用它们设置的颜色而不是默认的灰色。

1 个答案:

答案 0 :(得分:0)

你的风格看起来很完美。但是,你可能错过了一件事。你可能做的只是简单地将主题分配给你想要设置样式的活动,也许在这种情况下你只有一个,因为你正在玩。

这很好。但是,仅在您的活动上设置样式意味着当应用程序启动时,它只使用基于Android API版本和系统样式的一些默认样式。

你显然想要设计风格,以便应用中的外观保持一致,对吧?

为此,您只需打开AndroidManifest.xml文件并找到Application节点即可。在这里,您需要添加一个主题属性,与您的Activity类似。这看起来像是:

<application android:theme="@style/Theme.DesignDemo" android:label="@string/appname" android:icon="@drawable/ic_icon_launcher">

这会将样式应用程序设置为宽,如果您希望在不同的活动中使用不同的样式,则可以按活动覆盖它。