Xamarin Forms Android在“主要详细信息”页面内显示“选项卡式页面”时显示空白屏幕

时间:2018-08-09 16:18:03

标签: xamarin xamarin.forms xamarin.android master-detail tabbedpage

在我的Xamarin Forms应用程序中,我将Tabbed Page作为Detail page的第一个Master Details Page。因此,在运行我的Droid应用程序时,它显示empty空白屏幕几秒钟,然后显示正确的Tabbed Page。但是,如果我在iOS中运行同一项目,则不会显示任何Emptyblank屏幕;选项卡式页面呈现速度很快。

我尝试过的事情

如果我将其他任何普通Content Page设置为第一个Detail page而不是Tabbed Page,则表示该页面正在Droid中快速呈现

我也尝试过将Xamarin.Forms v2.5.1.444934 更新为 v3.1.0.697729 ,但是没有运气。

因此,我确认由于Empty or BlankDroid App屏幕在Tabbed Page中显示了几秒钟。有没有解决该问题的方法。预先感谢。

Login.cs

MasterDetailPage masterDetail =  new MasterDetail();
masterDetail.IsPresented = false;
Application.Current.MainPage = masterDetail;
成功登录API后

Login.cs中使用以上代码

MasterDetail.xaml

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
                  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"            
                  x:Class="Test.MasterDetail" IsPresented="false">
  <MasterDetailPage.Master>
    <local:MasterPage x:Name="masterPage"/>
  </MasterDetailPage.Master>
</MasterDetailPage>

MasterDetail.xaml.cs

public partial class MasterDetail : MasterDetailPage
  {  

    public MasterDetail()
    {
        InitializeComponent();           

        Detail = new NavigationPage(new BottomTabbedPage());         
    }
  }

BottomTabbedPage.xaml.cs

public class BottomTabbedPage : TabbedPage
{
    public BottomTabbedPage()
    {          
            //setting false to hide navigation bar
            NavigationPage.SetHasNavigationBar(this, false);

            Children.Clear();              

            var map = new NavigationPage(new ConsumerMap());
            map.Icon = "map_icon";
            map.Title = ""Home;         
            Children.Add(map);  

            var order = new NavigationPage(new Order());
            order.Icon = "order_icon";
            order.Title = ""Order;         
            Children.Add(order);           

            var history = new NavigationPage(new History());
            history.Icon = "history_icon";
            history.Title = "History";         
            Children.Add(history);
     }              

}

BottomTabbedPage.xaml.cs

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"          
            x:Class="Test.BottomTabbedPage">
</TabbedPage>

0 个答案:

没有答案