Eri*_*let 3 c# android fullscreen ios xamarin
我使用 Xamarin 4.5 进行开发,但无法找到如何让我的应用程序覆盖整个屏幕(全屏)。
适用于 Android 和 iOS。
注意:我不希望只有图像或视频覆盖整个屏幕,它应该是所有应用程序都应该覆盖整个屏幕。
更新2020-04-29 我找到了一半的解决方案,只有Android部分(在状态栏FabriBertani的帮助下包含在我的答案中)。我测试了一下,效果很好。现在我必须找到针对 iPhone 的解决方案(或者至少找到一种在 iPhone 上进行测试的方法)。
在 Android 上,将其添加到OnCreateMainActivity 的方法中:
this.Window.AddFlags(WindowManagerFlags.Fullscreen);
Run Code Online (Sandbox Code Playgroud)
对于 iOS,将这些值添加到info.plist文件中:
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Run Code Online (Sandbox Code Playgroud)
编辑:如果您也想删除工具栏,只需将其添加到您的 xaml 页面上:
NavigationPage.HasNavigationBar="False"
Run Code Online (Sandbox Code Playgroud)
或者在C#代码后面
public YourPage()
{
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false);
}
Run Code Online (Sandbox Code Playgroud)
如果您想将其添加到所有页面,我建议您使用此创建一个基本页面,然后在所有页面中使用此基本页面。
public class BaseContentPage : ContentPage
{
public BaseContentPage
{
NavigationPage.SetHasNavigationBar(this, false);
}
}
Run Code Online (Sandbox Code Playgroud)
并在 xaml 上使用它:
<?xml version="1.0" encoding="UTF-8"?>
<local:BaseContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:YourNamespace.Pages"
x:Class="YourNamespace.Pages.YourPage">
</local:BaseContentPage>
Run Code Online (Sandbox Code Playgroud)
这是解决方案的一半。对于安卓:
在Android项目中。进入MainActivity.OnCreate,添加:
this.Window.AddFlags(WindowManagerFlags.Fullscreen); // Hide StatusBar, from FabriBertani
MessagingCenter.Subscribe<Object>(this, "HideOsNavigationBar", (sender) =>
{
int uiOptions = (int)Window.DecorView.SystemUiVisibility;
uiOptions |= (int)SystemUiFlags.HideNavigation;
Window.DecorView.SystemUiVisibility = (StatusBarVisibility) SystemUiFlags.HideNavigation;
});
Run Code Online (Sandbox Code Playgroud)
在共享项目中。进入 MainPage 构造函数(我将其放在 InitializeComponent() 之后,但我怀疑这是必要的):
MessagingCenter.Send<Object>(this, "HideOsNavigationBar");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11911 次 |
| 最近记录: |