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

标签 android xaml xamarin.forms

为了让跨平台的东西看起来一致,是否可以让页面标题显示在 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>

最佳答案

如果您使用基于 Shell 的 Xamarin.forms 应用程序那么您可以使用 Shell.TitleView 轻松实现此目的,定义你的标题内容,绑定(bind)它,甚至你喜欢的样式。
在您的ContentPage 内:

<Shell.TitleView>
    <Label Text="Map" HorizontalTextAlignment="Center" HorizontalOptions="CenterAndExpand"/>
</Shell.TitleView>
这种方式将避免您使用自定义渲染器。
此外,如果您需要根据平台应用一些特殊调整,您可以使用 OnPlatform .

关于android - Xamarin Forms - 将页面标题设置为 Android 中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49381138/

相关文章:

java - 尝试调用虚拟方法时的 NPE

c# - 在IOS上设置背景

c# - Xaml ListView 异常行为 (Windows Phone 8.1)

c# - 是否可以在包含异步 lambda 的命令中对异常进行单元测试?

java - TextView 文本超出范围

java - 如何从 Google Places API 中删除不需要的地点?

wpf - 为什么我的 ImageSource 绑定(bind)没有更新?

mvvm - 在 Xamarin Forms 中设置 ViewModel 属性是否具有线程关联性?

ios - Xamarin 应用程序在一天未打开后启动时崩溃

c# - "In-App Update"HockeyApp SDK 功能未按预期工作