Xamarin 带有FreshTabbedNavigationContainer的可滚动选项卡栏

Xamarin 带有FreshTabbedNavigationContainer的可滚动选项卡栏,xamarin,xamarin.forms,xamarin.android,freshmvvm,Xamarin,Xamarin.forms,Xamarin.android,Freshmvvm,使用FreshMVVM的FreshTabbedNavigationContainer所有选项卡都希望同时可见并被截断: 我希望它们是全宽的,并且可以像常规的选项卡页面那样滚动: 我实际上没有那么多标签。这只是一个例子来说明我的意思。您需要使用CustomRedner。 例如:在Droid项目中: [assembly: ExportRenderer(typeof(ScrollableTabbedPage), typeof(ScrollableTabbedPageRenderer))] name

使用FreshMVVM的
FreshTabbedNavigationContainer
所有选项卡都希望同时可见并被截断:

我希望它们是全宽的,并且可以像常规的
选项卡页面那样滚动:


我实际上没有那么多标签。这只是一个例子来说明我的意思。

您需要使用CustomRedner。
例如:
在Droid项目中:

[assembly: ExportRenderer(typeof(ScrollableTabbedPage), typeof(ScrollableTabbedPageRenderer))]
namespace ScrollableFreshTabbed.Droid
{
    class ScrollableTabbedPageRenderer : TabbedPageRenderer
    {
        public ScrollableTabbedPageRenderer(Context context) : base(context)
        {

        }
        public override void OnViewAdded(Android.Views.View child)
        {
            base.OnViewAdded(child);
            var tabLayout = child as TabLayout;
            if (tabLayout != null)
            {
                tabLayout.TabMode = TabLayout.ModeScrollable;
            }
        }    
    }
}
在便携式项目中:

public class ScrollableTabbedPage :  FreshTabbedNavigationContainer
{
    public ScrollableTabbedPage ()
    {

    }
}
App.xaml.cs:

        public App ()
        {
            InitializeComponent();
            var tabbedNavigation = new ScrollableTabbedPage();
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);
            tabbedNavigation.AddTab<QuotePageModel>("Contacts", null);

            MainPage = tabbedNavigation;    
        }
public应用程序()
{
初始化组件();
var tabbedNavigation=新的ScrollableTabbedPage();
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
tabbedNavigation.AddTab(“联系人”,null);
主页=选项卡式导航;
}
结果是:

谢谢,它太完美了。我不知道
tabLayout.TabMode=tabLayout.ModeScrollable属性。