2017-06-13 59 views
1

的设置。如何在Xamarin表格中新增TabbedPage

我有以下选项卡式页面。我想要做到以下几点:

1)背景颜色的标签是白色或一个颜色,一个白色。

2)改变Tab下划线的颜色。

3)我可以有多少Tab?

4)Text的字体大小。 5)由于每个标签都有一个contentPage,所以如何从外部引用contentPage,而不是在Tab中,因为我的内容页非常长且复杂。

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

    <ContentPage Title ="Page1" Icon="itemIcon1" WidthRequest="200" BackgroundColor="White"> 

     <ContentPage.Content> 

      <StackLayout VerticalOptions="Center" HorizontalOptions="Center"> 


       <Label Text="T1"> 
       </Label> 

      </StackLayout> 

     </ContentPage.Content> 
    </ContentPage> 

    <ContentPage Title ="Page2" Icon="itemIcon2" WidthRequest="200" BackgroundColor="White"> 

     <ContentPage.Content> 

      <StackLayout VerticalOptions="Center" HorizontalOptions="Center"> 

       <Label Text="T2"> 
       </Label> 

      </StackLayout> 

     </ContentPage.Content> 
    </ContentPage> 



    <ContentPage Title ="Page3" Icon="itemIcon3" WidthRequest="200"> 

     <ContentPage.Content> 

      <StackLayout VerticalOptions="Center" HorizontalOptions="Center"> 

       <Label Text="T3"> 
       </Label> 
      </StackLayout> 

     </ContentPage.Content> 
    </ContentPage> 
</TabbedPage> 

感谢

+1

您在这里担心哪些平台?看起来只是Android,但是你是否也需要在iOS上进行大量的定制?特别是“标签的下划线” – SuavePirate

回答

0

样式化标签

的样式选项卡的背景颜色,文字大小,并重点将需要在你的平台特定的项目进行处理。因此,针对Android这可以通过使用自定义主题,你可以在资源修改>重写基款式达到的值>styles.xml

<?xml version="1.0" encoding="UTF-8"?> 
<resources> 
    <color name="CustomHighlight">@android:color/transparent</color> 

    <style name="MyTheme" parent="MyTheme.Base"> 
    </style> 

    <!-- Base theme applied no matter what API --> 
    <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:tabWidgetStyle">@android:style/Widget.TabWidget</item> 
     ... 
     <!-- The rest of your styles would go here --> 
     ... 
    </style> 
    <style name="Widget.TabWidget"> 
     <item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item> 
     <item name="android:ellipsize">marquee</item> 
     <item name="android:singleLine">true</item> 
    </style> 


    <style name="TextAppearance.Widget.TabWidget"> 
     <item name="android:textSize">14sp</item> 
     <item name="android:textStyle">normal</item> 
     <item name="android:textColor">@android:color/tab_indicator_text</item> 
    </style> 
</resources> 

(涂抹适量来自这个问题借来的:Android - How to Change Color of Selected Tab

您在直插式的背景颜色应该在你的.xaml标记足够了:

<ContentPage Title ="Page2" Icon="itemIcon2" WidthRequest="200" BackgroundColor="White"> 

对于iOS,改变高亮颜色是相当微不足道。在您的AppDelegate.cs

public override bool FinishedLaunching(UIApplication app, NSDictionary options) 
{ 
    UITabBar.Appearance.TintColor = UIColor.Red; 

    global::Xamarin.Forms.Forms.Init(); 

    ... 

,事情就从那里毛茸茸的,所以我将把你的开发者文档,其中有用于创建自定义呈现一个伟大的演练:Customize Tab Bar on iOS

选项卡数

来自文档

用户可以滚动acr选项卡的集合如果该集合太大而不适合在一个屏幕上,则oss在屏幕的顶部。

真的,标签的数量仅限于从用户体验的角度来看有意义。我个人尽量不要超过6个,但是你的用例可能需要更多。

相关问题