当我在Xamarin Forms中为TabbedPages使用自定义渲染器时,TabLayout被完全删除,因此只能访问第一个Tab。 像这样的“空”自定义渲染器甚至是这种情况:
public class MyTabbedRenderer: TabbedRenderer
{
public MyTabbedRenderer(Context c) : base(c) { }
public MyTabbedRenderer() : base() { }
}
当我不为TabbedPage使用自定义渲染器时,Tablayout可以很好地呈现。
这是Bug还是我忘记了一些代码?我只是在Android上使用自定义渲染器。
编辑:页面Xaml
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="App.Client.View.MyTabbedPage">
<TabbedPage.ToolbarItems>
<ToolbarItem/>
</TabbedPage.ToolbarItems>
<ContentPage>
<ContentPage.Content>
<view:MyView1/>
</ContentPage.Content>
</ContentPage>
<ContentPage>
<ContentPage.Content>
<view:MyView2/>
</ContentPage.Content>
</ContentPage>
</TabbedPage>
答案 0 :(得分:3)
我继承的TabbedRenderer
是Xamarin.Forms.Platform.Android.TabbedRenderer
此渲染器使用旧的ActionBar
布局,该布局在Android 5.0 Lollipop中已弃用。
从Xamarin.Forms.Platform.Android.AppCompat.TabbedPageRenderer
继承并利用AppCompat的Toolbar
和Tabbar
解决了该问题。