为什么 Android 设备上 TabbedPage 中的页面标题默认为大写

Zar*_*law 2 android xamarin xamarin.forms

为什么页面标题默认为大写TabbedPage

https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/tabbed-page

此文档链接TabbedPage显示了示例,其中选项卡式页面标题在代码中为 Titlecase,但在 UI 上为大写。如下所示:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:local="clr-namespace:TabbedPageWithNavigationPage;assembly=TabbedPageWithNavigationPage"
            x:Class="TabbedPageWithNavigationPage.MainPage">
    <local:TodayPage />
    <NavigationPage Title="Schedule" IconImageSource="schedule.png">
        <x:Arguments>
            <local:SchedulePage />
        </x:Arguments>
    </NavigationPage>
</TabbedPage>
Run Code Online (Sandbox Code Playgroud)

日程页面

Tim*_*äki 5

如果您查看 GitHub 上 Android 特定渲染器的源代码,您可以看到 Xamarin.Forms在内部使用TabLayout控件来创建选项卡。这也意味着您必须遵循 Android 开发人员指定的标题文本外观,在这种情况下,默认情况下它都是大写的。

但是,仍然可以通过创建修改本机控件上的相关属性的自定义效果来对此进行自定义。看看这篇关于如何在 Android 上创建自定义效果的文章,您可能应该从以下SO 问题中找到要修改的属性。

通常,当您看到类似的内容时,这是因为 Xamarin.Forms 只是使用本机控件,并对其进行了一些修改或未进行任何修改。那时,您将需要创建和效果甚至自定义渲染器来在更深层次上更改外观和感觉以满足您的需求。