Xamarin Forms - 将页面标题设置为Android居中

4
为了保持跨平台的一致性,是否可以在Android上像iOS一样将页面标题显示在中心位置?
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
             x:Class="gl_mobile_app.Views.Map.MapPage"
             NavigationPage.HasNavigationBar="True"
             Title="Map" >

    <ContentPage.ToolbarItems>
        <ToolbarItem x:Name="backItem" 
                     Text="Back" 
                     Clicked="GoBack" />
    </ContentPage.ToolbarItems>

1
如果你想通过这种“一致性”来强制安卓用户使用看起来像IOS的应用程序,那么对于他来说这是不本地化和不自然的,你会遇到很多问题。XF的主要目标是使应用程序在每个平台上看起来本地化。 - Diego Rafael Souza
公正的观点,我会把它带回给最初提出请求的那个人。 - DarkW1nter
最佳选择!应用程序的用户界面可以是“跨平台一致的”,但是对话框中的答案按钮位置和页面标题等常见元素我认为不太可能完全一致。=) - Diego Rafael Souza
1个回答

2
如果您正在使用基于Shell的Xamarin.forms应用程序,则可以使用Shell.TitleView轻松实现此目标,定义您的标题内容,绑定它或者按照您的喜好进行样式设置。
在您的ContentPage中:
<Shell.TitleView>
    <Label Text="Map" HorizontalTextAlignment="Center" HorizontalOptions="CenterAndExpand"/>
</Shell.TitleView>

这种方法可以避免使用自定义渲染器。
另外,如果您需要应用一些特定于平台的调整,可以使用OnPlatform

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接