我们可以在 xamarin.forms 中制作可滚动的底部标签页吗

Posted

技术标签:

【中文标题】我们可以在 xamarin.forms 中制作可滚动的底部标签页吗【英文标题】:Can we make scrollable bottom tabbed page in xamarin.forms 【发布时间】:2021-04-12 01:56:29 【问题描述】:

我在底部有四个标签,问题是,最后一个标签标题不完全可见,我想通过将标签模式设置为可滚动它会设置,即使我将tabmode 设置为可滚动问题存在。

请有人帮我实现这一目标。

这是我的 xaml 代码:

    <?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
             android:TabbedPage.BarItemColor="LightGray"
             android:TabbedPage.BarSelectedItemColor="White"
             android:TabbedPage.IsSmoothScrollEnabled="True"         
             x:Class="MyApp.Views.DashBoardTabbedPage" BarBackgroundColor="#00abbf">
  <!--Pages can be added as references or inline-->
</TabbedPage>

xaml.cs 构造函数

var  _dashboardview = new DashBoard();
            _dashboardview.Title = "1";
            _dashboardview.IconImageSource = "refresh";
            this.Children.Add(_dashboardview); //Added other 3 tabs in this way
            On<Android>().SetToolbarPlacement(ToolbarPlacement.Bottom);

【问题讨论】:

你为什么在原生 android 中做标签而不是共享的 xaml 视图? 请澄清,因为您的问题是关于 Xamarin.Forms(使用 xaml),而您的代码是 Xamarin.Android(本机,使用 xml),这是完全不同的。那么 Xamarin.Forms 还是 Xamarin.Android? 我已经在共享自己@o_w中定义了tabbedpage,代码供参考我如何定义tabMode。 对不起@Cfun 的困惑,我正在使用 xaml。我将更新我的 xaml 代码。 我已经更新了我的代码@o_w 【参考方案1】:

如果您有兴趣,可以将您的应用程序基页更改为较新的Shell type,然后使用嵌套TabbarTab 的组合来定义底部和上部选项卡。尽管默认行为是超过 5 个底部选项卡,但其余选项卡将隐藏在通过右侧边缘的 3 点“更多”菜单访问的分组列表中。

                         

但是,如果您更喜欢可滚动的选项卡,我建议使用以下任一包,因为它不是 Xamarin.Forms 中的内置包:

Xamarin.CommunityToolkit 和 TabView 为您的选项卡提供了很好的控制和自定义选项,包括内置滚动,文档将很快与第一个稳定版本相同(计划在本周发布,但已在预发布版本中提供) ,但同时你可以看看TabView。请注意,此软件包不仅为标签提供了许多多样化且有用的功能。

                       

另一个不错的软件包是Sharpnado.Tabs 和TabType.Scrollable

【讨论】:

谢谢@cfun,我会试试这个。

以上是关于我们可以在 xamarin.forms 中制作可滚动的底部标签页吗的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView 问题中的 Xamarin.Forms 捏手势

无法调试在 Xamarin.Forms 中制作的 IOS 应用程序

Xamarin.Forms - 如何使用可点击图像制作自定义视图?

Xamarin.Forms (Android制作启动画面)

如何使用 Xamarin Forms 为 iOS 项目制作可点击的滑块?

Xamarin.Forms Button长按事件