【问题标题】:Light blue line above my navigation bar in android appandroid 应用中导航栏上方的浅蓝线
【发布时间】:2016-11-14 23:07:31
【问题描述】:

我正在构建的应用程序有问题。我在 Visual Studio 2015 社区中使用 xamarin,当我部署我的应用程序时,结果如下:

我想要的是将那条浅蓝色线与我的导航栏相匹配。我需要知道该怎么做。 提前致谢

【问题讨论】:

    标签: android xamarin navigation xamarin.forms navigationbar


    【解决方案1】:

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

    要自定义该颜色,您必须这样做:

    1. 为状态栏定义颜色。
    2. 创建一个使用该颜色作为 colorPrimaryDark 的主题。
    3. 应用主题。

    第 1 步(Resources/values/colors.xml):

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

    第 2 步(资源/值/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

    【讨论】:

      【解决方案2】:

      jzeferino 的答案非常完美,仅供您在开发 Xamarin 表单应用程序时参考:

      1) 转到 Resources/values/styles.xml

      2) 更改名为“colorPrimaryDark”的项目的值

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多