我们可以在 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,然后使用嵌套Tabbar
和Tab
的组合来定义底部和上部选项卡。尽管默认行为是超过 5 个底部选项卡,但其余选项卡将隐藏在通过右侧边缘的 3 点“更多”菜单访问的分组列表中。
但是,如果您更喜欢可滚动的选项卡,我建议使用以下任一包,因为它不是 Xamarin.Forms 中的内置包:
Xamarin.CommunityToolkit 和TabView
为您的选项卡提供了很好的控制和自定义选项,包括内置滚动,文档将很快与第一个稳定版本相同(计划在本周发布,但已在预发布版本中提供) ,但同时你可以看看TabView。请注意,此软件包不仅为标签提供了许多多样化且有用的功能。
另一个不错的软件包是Sharpnado.Tabs 和
TabType.Scrollable
。
【讨论】:
谢谢@cfun,我会试试这个。以上是关于我们可以在 xamarin.forms 中制作可滚动的底部标签页吗的主要内容,如果未能解决你的问题,请参考以下文章
ScrollView 问题中的 Xamarin.Forms 捏手势
无法调试在 Xamarin.Forms 中制作的 IOS 应用程序
Xamarin.Forms - 如何使用可点击图像制作自定义视图?