如何为所有视图设置BarBackgroundColor?

时间:2016-10-05 13:07:38

标签: c# xamarin.forms mvvmcross

我有一个MvvmCross Xamarin Forms应用程序,我正在为iOS和Android开发。

我正在尝试设置

BarBackgroundColor = Color.FromHex("F26C4F")

所有视图(使用NavigationPage)在一个公共位置。如果我使用直接的Xamarin表单,我可能会有一个继承自NavigationPage的基类,然后在基类构造函数中设置样式。

然而,我迷失了,因为有了MvvmCross,很多启动代码都在iOS项目中。我在Xamarin Forms项目中的所有内容都是:

public override void Initialize()
{
    CreatableTypes()
        .EndingWith("Service")
        .AsInterfaces()
        .RegisterAsLazySingleton();

    RegisterAppStart<FirstViewModel>();
}

在App.cs类中。

那么,在MvvmCross Xamarin Forms应用程序中应用通用样式(理想情况是应用于两个应用程序版本)的最佳方法是什么?

请提供代码片段会很方便。

感谢

1 个答案:

答案 0 :(得分:2)

您可以使用iOS上的UIAppearance API和Android上的Styles来执行此操作。虽然它是特定于平台的。

的iOS:

UINavigationBar.Appearance.BarTintColor = UIColor.Blue;

德罗伊德

<item name="android:navigationBarColor">@color/primary_white</item>