android - Xamarin Forms BarBackground 在 Android 上丢失

标签 android xamarin xamarin.forms

过去几天我一直在努力解决有关 Android 上的栏颜色的问题。利益相关者希望导航页面栏具有特定的蓝色阴影,虽然最初可以使用

   private Page GetNavigationPage(Page innerPage){
        var navigation =  new NavigationPage (innerPage);
        navigation.BarBackgroundColor= Color.FromHex ("#00263A");
        navigation.BackgroundColor = Color.FromHex ("#00263A");
            return navigation;
    }

我们发现,当使用 Navigation.PushModalAsync 方法时,一旦调用页面,栏的颜色就会变成浅蓝色。根据 Xamarin 的说法,这是有意重置 ActionBar https://bugzilla.xamarin.com/show_bug.cgi?id=22237 ,但尝试使用相同的 NavigationPage 对象并在模式窗口消失后设置值将不会更新颜色,无论如何调用。

最佳答案

我创建的解决方案相当脏,我计划做一些更优雅的事情,但为了解决这个问题,我在 MainActivity 中创建了一个操作

 ActionBar.SetBackgroundDrawable(new ColorDrawable(Color.ParseColor("#00263A")));

或者任何你想要的颜色。解决方案是将其传递到您的应用程序类中,或者通过某些服务将其公开给 PCL。然后根据需要,您可以简单地调用它来将条重置为您选择的颜色。 我发现在执行完之后立即调用它

Navigation.PushModalAsync

似乎获得了最干净的结果。在我的测试中,如果我此时执行此操作,我没有注意到默认颜色会出现。

关于android - Xamarin Forms BarBackground 在 Android 上丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33271017/

相关文章:

android - 无法解析 : com. google.firebase :firebase-core:16. 0.5

c# - Xamarin 表单级联样式表 (CSS) 不工作。加载样式文件失败

c# - 在 Android 应用程序上设置 Twilio 推送通知

ios - 无法在 Visual Studio 上编辑 LaunchScreen.storyboard

android - 可绘制文件夹android

java - 我的应用程序在单击按钮时关闭

javascript - 使用 contenteditable div 时隐藏移动设备上的软键盘

ios - 如何更改 UIBarButtonItem 的上边距

c# - 我应该如何使用 xamarin 表单在 android 上创建主要 Activity 以支持画中画模式?

xcode - Xamarin Forms - 找不到配置文件(ios bundle 签名)