使用 Xamarin.Forms Shell 时主选项卡是不是可以显示在顶部
Posted
技术标签:
【中文标题】使用 Xamarin.Forms Shell 时主选项卡是不是可以显示在顶部【英文标题】:Can primary tabs appear at the top when using Xamarin.Forms Shell使用 Xamarin.Forms Shell 时主选项卡是否可以显示在顶部 【发布时间】:2020-06-10 22:25:38 【问题描述】:客户希望主选项卡出现在 ios 的底部和 android 的顶部。使用Shell时这可能吗?我知道嵌套/辅助选项卡可以出现在顶部,但我再次指的是主要/***选项卡。 Shell 是否强制主选项卡始终是底部选项卡,还是有办法将它们也显示在顶部?
【问题讨论】:
【参考方案1】:抱歉,Shell 强制主标签始终位于底部,我们无法修改。
shell tabbar 的布局设计为默认。您可以在这里查看source code of Shell:
public override AView OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
if (_shellContent != null)
_page = ((IShellContentController)_shellContent).GetOrCreateContent();
_root = inflater.Inflate(Resource.Layout.ShellContent, null).JavaCast<CoordinatorLayout>();
//here layout be designed as default
_toolbar = _root.FindViewById<Toolbar>(Resource.Id.shellcontent_toolbar);
_renderer = Platform.CreateRenderer(_page, Context);
Platform.SetRenderer(_page, _renderer);
...
return _root;
最后如你所说,建议不使用 Shell 来实现这一点是可能的。
【讨论】:
以上是关于使用 Xamarin.Forms Shell 时主选项卡是不是可以显示在顶部的主要内容,如果未能解决你的问题,请参考以下文章
在 Xamarin.Forms Shell 中隐藏 tabbedPage 的标题
Xamarin.Forms:处理导航工具栏按钮(Shell)
Xamarin.Forms Shell 将数据传递到弹出项视图
Xamarin.Forms Shell 如何在路由导航中向字符串注入多个不同的值