我正在开发一个 MAUI 移动应用程序,并且正在努力使用 Shell.TitleView 自定义标题。问题是 TitleView 周围的持久填充/边距区域,我似乎无法修改。
以下是我遇到的问题:
iOS:TitleView 的顶部和两侧有多余的空间,我无法删除。第一张图中用红色标记的区域突出显示了这些有问题的空间。
Android:TitleView 左侧有额外的空间(在第二张图中以红色标记)。
忽略 TitleView 中的红框。那只是我屏蔽了我的名字。
我尝试在 XAML 和代码隐藏中设置以下属性,但它们似乎都没有任何效果:
填充、边距、高度请求、宽度请求、水平选项、垂直选项
我也尝试过修改 Shell 样式和主题,但没有取得任何成功。我什至不想将内容移动到 iOS 上的区域中,我只想着色,而在 Android 中,我想对所有内容进行着色并居中,因为它们都向右移动。
还有其他人遇到过这个问题吗?如果是这样,你是如何解决的?任何意见或建议将不胜感激!
附件是图片。
提前感谢您的帮助!
这是 github 上的一个已知问题:[Spec] Shell/NavigationPage TitleView #5063。
Android 有一个解决方法。只需将以下代码放入App类中即可:
public App()
{
InitializeComponent();
Microsoft.Maui.Handlers.ToolbarHandler.Mapper.AppendToMapping("CustomNavigationView", (handler, view) =>
{
#if ANDROID
handler.PlatformView.ContentInsetStartWithNavigation = 0;
handler.PlatformView.SetContentInsetsAbsolute(0, 0);
#endif
});
}
iOS 没有解决方法。但您可以参考拉取请求:[iOS] Shell/NavigationPage TitleView。