当前位置:  开发笔记 > 编程语言 > 正文

Xamarin.Forms-如何在iOS和Android上使导航/系统栏透明

如何解决《Xamarin.Forms-如何在iOS和Android上使导航/系统栏透明》经验,为你挑选了1个好方法。

我正在Xamarin.Forms中为iOS和Android构建一个应用程序,我们的设计要求顶部导航,系统栏和屏幕底部的Android系统导航栏是透明的。以下是一个屏幕的样机,可为您提供一个想法。我们希望背景图片能覆盖整个屏幕。

我是一个非常新的开发人员,如果我错了,请纠正我,但是这种UI实现似乎是特定于平台的,并且我正在努力寻找应该如何在跨平台中创建它。平台项目。

在过去的几天里,我一直在做大量研究以弄清这一点,但是作为一个对Xamarin经验有限的开发人员,我很难确定如何解决这个问题。您如何在Xamarin.Forms中创建满足这些要求的UI?

我需要为正在使用的页面创建自定义渲染器吗?此UI是否属于过于定制的类别,因此在Xamarin.Forms中不实用?

您在这里可以提供的任何见解将不胜感激。在此先感谢您的时间。



1> Jonathan..:

非常感谢@SuavePirate的回答。它使我走上了正确的道路,通过进一步的研究,我找到了解决我的问题的解决方案。

要摆脱主导航页面上的导航栏:

HomeScreen.xaml.cs此行中,我将该行添加到类构造函数中:

NavigationPage.SetHasNavigationBar(this, false);

要使导航栏透明:

我使用此代码在以下位置创建主页 App.xaml.cs

MainPage = new NavigationPage(new HomeScreen())
{
    BarBackgroundColor = Color.Transparent
};

要使状态栏在Android上透明:

OnCreateMainActivity.cs在.Droid项目中,我的权利之前添加这些行LoadApplication(new App());

Window.AddFlags(WindowManagerFlags.TranslucentNavigation);
Window.SetBackgroundDrawableResource(Resource.Drawable.MyBackgroundPNG);
SetStatusBarColor(Android.Graphics.Color.Transparent);

当我弄清楚如何使它在那里工作时,我将添加iOS代码。:)

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有