Xamarin формирует андроид планшет - PullRequest
0 голосов
/ 30 августа 2018

Я только что начал тестировать свое приложение на планшете Android и обнаружил странную ошибку: Я хотел, чтобы главная страница была включена, только когда открыта моя главная страница. Поэтому я создал Custom NavigationPage и переопределил методы:

/// <summary>
    /// Отключение бокового меню при добавлении на главный экран новых страниц
    /// </summary>
    /// <param name="child"></param>
    protected override void OnChildAdded(Element child)
    {
        base.OnChildAdded(child);
        if (this.Navigation.NavigationStack.Count > 1)
            App.detailPage.IsGestureEnabled = false;
    }

    /// <summary>
    /// Включение бокового меню при наличии только одной страницы на главном экране
    /// </summary>
    /// <param name="child"></param>
    protected override void OnChildRemoved(Element child)
    {
        base.OnChildRemoved(child);
        if (this.Navigation.NavigationStack.Count < 2)
            App.detailPage.IsGestureEnabled = true;
    }

вот главная страница моего пейзажа:

enter image description here

Когда я помещаю некоторые страницы в NavigationPage, главная страница исчезает:

enter image description here

и после этого, когда я возвращаюсь на свою главную страницу, мастер-страница все еще недоступна:

enter image description here

По крайней мере, мне нужно показать мою мастер-страницу на главной странице, и было бы замечательно, если бы кто-нибудь сказал мне, как скрыть мастер-страницу влево и использовать ее с помощью жестов, как на телефонах. Заранее спасибо.

1 Ответ

0 голосов
/ 30 августа 2018

Кстати, я нашел ответ на свой вопрос :) Прямо сейчас, я заканчиваю с добавлением поведения для планшета идиома в моей MasterPage. Код конструктора:

public MasterDetailPage1()
    {
        InitializeComponent();
        /// Some coding
        if (Device.Idiom == TargetIdiom.Tablet)
            MasterBehavior = MasterBehavior.Popover;
        /// Some coding
    }

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...