我在 Xamarin Forms 应用程序中添加了一个汉堡包菜单。问题在于,对于 IOS 设备,当单击菜单时,状态栏颜色不会像 Android 那样根据菜单标题颜色而改变。您可以在下方查看不同之处。
这是主页:
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyProject.UI.Pages.Menu.MainPage"
xmlns:pages="clr-namespace:MyProject.UI.Pages.Menu"
xmlns:calendar="clr-namespace:MyProject.UI.Pages.Calendar;assembly=MyProject"
Title="Main">
<MasterDetailPage.Master>
<pages:HamburgerMenu x:Name="MasterPage" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<calendar:CalendarPage />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
最佳答案
对于安卓,它是状态栏的默认颜色,默认显示,你可以找到像<item name="colorPrimaryDark">#4286f4</item>
这样的颜色。在你的Styles.xml
Resources
下的文件文件夹。
您可以手动更改 iOS 的状态栏颜色:
在LoadApplication之前将这段代码写在你的AppDelegate.cs文件中
var statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = UIColor.FromRGB(66, 134, 244);
statusBar.TintColor = UIColor.White;
}
希望这能解决您的问题。
关于android - Xamarin Forms - IOS - 汉堡包菜单标题颜色与状态栏不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49980367/