我正在Xamarin.Forms中为iOS和Android构建一个应用程序,我们的设计要求顶部导航,系统栏和屏幕底部的Android系统导航栏是透明的。以下是一个屏幕的样机,可为您提供一个想法。我们希望背景图片能覆盖整个屏幕。
我是一个非常新的开发人员,如果我错了,请纠正我,但是这种UI实现似乎是特定于平台的,并且我正在努力寻找应该如何在跨平台中创建它。平台项目。
在过去的几天里,我一直在做大量研究以弄清这一点,但是作为一个对Xamarin经验有限的开发人员,我很难确定如何解决这个问题。您如何在Xamarin.Forms中创建满足这些要求的UI?
我需要为正在使用的页面创建自定义渲染器吗?此UI是否属于过于定制的类别,因此在Xamarin.Forms中不实用?
您在这里可以提供的任何见解将不胜感激。在此先感谢您的时间。
非常感谢@SuavePirate的回答。它使我走上了正确的道路,通过进一步的研究,我找到了解决我的问题的解决方案。
要摆脱主导航页面上的导航栏:
在HomeScreen.xaml.cs
此行中,我将该行添加到类构造函数中:
NavigationPage.SetHasNavigationBar(this, false);
要使导航栏透明:
我使用此代码在以下位置创建主页 App.xaml.cs
MainPage = new NavigationPage(new HomeScreen()) { BarBackgroundColor = Color.Transparent };
要使状态栏在Android上透明:
在OnCreate
中MainActivity.cs
在.Droid项目中,我的权利之前添加这些行LoadApplication(new App());
Window.AddFlags(WindowManagerFlags.TranslucentNavigation); Window.SetBackgroundDrawableResource(Resource.Drawable.MyBackgroundPNG); SetStatusBarColor(Android.Graphics.Color.Transparent);
当我弄清楚如何使它在那里工作时,我将添加iOS代码。:)