在我的Android应用程序导航栏上方的浅蓝色线条

时间:2016-11-14 23:07:31

标签: android xamarin navigation xamarin.forms navigationbar

我正在构建一个应用程序的问题。我正在使用xamarin与Visual Studio 2015社区,当我部署我的应用程序时,我得到了这个结果: enter image description here

我想要的是将浅蓝色线条与我的导航栏相匹配。我需要知道如何做到这一点。 提前致谢

2 个答案:

答案 0 :(得分:9)

这是状态栏颜色。 这是Android 5.0(Lolipop)API 21及更高版本中引入的一项功能。

要自定义该颜色,您必须执行以下操作:

  1. 定义状态栏的颜色。
  2. 创建一个使用该颜色作为colorPrimaryDark的主题。
  3. 应用主题。
  4. 第1步( Resources / values / colors.xml ):

    <resources>
      <color name="primaryDark">#1230D2</color>
    </resources>
    

    第2步( Resources / values / style.xml ):

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="colorPrimaryDark">@color/primaryDark</item>
            <item name="android:windowActionModeOverlay">true</item>
    </style>
    

    第3步(您的活动):

    [Activity(Label = "MyActivity", Theme = "@style/AppTheme")]
    

    更多详情herehere

答案 1 :(得分:1)

jzeferino的答案非常完美,仅供您在开发Xamarin Forms应用程序时提供信息:

1)转到 Resources / values / styles.xml

2)更改名为&#34; colorPrimaryDark &#34;

的项目的值
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#1230D2</item>

Nota bene :当您使用MasterDetailPage时,如果要在主页面和详细信息页面之间保持状态栏的颜色和样式相同,则必须将MasterDetailPage声明为NavigationPage并且将HasNavigationBar字段设置为false:

public partial class MyMasterDetailPage : MasterDetailPage
{
    public MyMasterDetailPage()
    {
        InitializeComponent();
        NavigationPage.SetHasNavigationBar(this, false);
        (...)
    }
}