标签栏不会显示在TabbedPage上

时间:2017-08-03 22:13:59

标签: visual-studio xamarin xamarin.android xamarin.forms tabbedpage

我在Visual Studio 2017上使用Xamarin Forms。在我的PCL中,我创建了一个标签页并将子页放在里面。但是,当我运行我的代码并单击选项卡页时,只显示我的第一个子页面(UploadPage)。我没有在顶部或底部看到标签栏(我目前正在使用Android手机和模拟器)。这是我的代码:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:local="clr-namespace:Xam1;assembly=Xam1"
         x:Class="Xam1.PersonalAccountPage">

<local:UploadPage></local:UploadPage>

<local:MyVideosPage></local:MyVideosPage>

<local:TrainingVideosPage></local:TrainingVideosPage>
</TabbedPage>

后面的代码是:

public partial class PersonalAccountPage : TabbedPage 

使用常规构造函数。

我可以尝试使TabbedPages工作/他们不工作的原因吗?

4 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我发现这是风格主题问题。这是我修复的方式。 在styles.xml文件中,我更改为

<style name="MainTheme" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar">true</item>  
<item name="android:windowNoTitle">false</item>
<item name="android:windowFullscreen">true</item>
</style>

在Android Manifest.xml中,我添加了

    <application android:theme = "@style/MainTheme"/>

答案 1 :(得分:0)

将您的子页面放在TabbedPage.Children

 <TabbedPage.Children>
   <local:UploadPage></local:UploadPage>
   <local:MyVideosPage></local:MyVideosPage>
 </TabbedPage.Children>

或者以编程方式进行:

public MyTabbedPage ()
{           
    InitializeComponent ();            
    Children.Add(new Page1());
    Children.Add(new Page2());             
}

答案 2 :(得分:0)

您可能尚未初始化Page的标题。 在构造函数中执行以下操作:

        public MyPage()
        {
            InitializeComponent();
            Title = "MyPage";
        }

或在XAML中。它对我有用。

答案 3 :(得分:0)

就我而言,它类似于@ jason-ye提到的主题。在我的MainActivity类中,我从global :: Xamarin.forms.Platform.Android.FormsApplicationActivity继承-我将其切换为FormsAppCompatActivity,并且我的标签再次开始出现。由于存在不同的构建错误(红色鲱鱼,总浪费时间),我以前曾经需要切换继承,并且此后一直使用选项卡式应用程序损坏。