Как сделать приложение Xamarin полноэкранным (весь экран) - PullRequest
2 голосов
/ 20 апреля 2020

Я разрабатываю с Xamarin 4.5 и не могу найти, как разместить свое приложение на весь экран (полный экран).

Для Android и для iOS.

Примечание: я не хочу, чтобы только изображение или видео покрывали весь экран, это должно быть все приложение, которое должно охватывать весь экран.

Обновление 2020-04-29 Я нашел половину решения, только часть Android (включена в мой ответ с помощью FabriBertani для строки состояния). Я проверил это, и он отлично работает. Теперь мне нужно найти решение для iPhone (или, по крайней мере, найти способ тестирования на iPhone).

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Вкл. Android добавить это к методу OnCreate вашей MainActivity:

this.Window.AddFlags(WindowManagerFlags.Fullscreen);

Для iOS добавить эти значения в файл info.plist:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

edit : Если вы тоже хотите удалить панель инструментов, просто добавьте это на свои страницы xaml:

NavigationPage.HasNavigationBar="False"

Или в коде C#, стоящем за

public YourPage()
{
    InitializeComponent();

    NavigationPage.SetHasNavigationBar(this, false);
}

Если вы хотите добавить это на все свои страницы, я рекомендую вам создать базовую страницу с этим, а затем использовать эту базовую страницу на всех своих страницах.

public class BaseContentPage : ContentPage
{
    public BaseContentPage
    {
        NavigationPage.SetHasNavigationBar(this, false);
    }
}

И использовать ее на 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>
0 голосов
/ 30 апреля 2020

Это половина решения. Для Android:

В Android Project. В 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;
});

В общий проект. В конструктор MainPage (я поставил его после InitializeComponent (), но сомневаюсь, что это необходимо):

MessagingCenter.Send<Object>(this, "HideOsNavigationBar");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...