android上的特定内容页面标题字体大小

android上的特定内容页面标题字体大小,android,xaml,xamarin,xamarin.forms,Android,Xaml,Xamarin,Xamarin.forms,因此,我创建了一个导航栏,我想在其中为Android用户缩小标题字体 我想我可以这样做: <ContentPage.Title> <OnPlatform x:TypeArguments="Size"> <On Platform="Android">8</On> </OnPlatform> </ContentPage.Title> 8. 但它不工作,我得到一个编译器错误 因此,如何更正代码

因此,我创建了一个导航栏,我想在其中为Android用户缩小标题字体

我想我可以这样做:

<ContentPage.Title>
    <OnPlatform x:TypeArguments="Size">
        <On Platform="Android">8</On>
    </OnPlatform>
</ContentPage.Title>

8.
但它不工作,我得到一个编译器错误


因此,如何更正代码,或者最好在App.xaml中编写一些可重用代码,以便为导航标题声明特定于平台的字体大小

您需要使用自定义渲染器来设置字体大小。
例如:
在pcl项目中创建一个
MyNavigationPage.cs

public class MyNavigationPage : NavigationPage
{
    public MyNavigationPage(Page root) : base(root)
    {

    }
}
并在android项目中创建渲染器类:

[assembly: ExportRenderer(typeof(MyNavigationPage), typeof(CustomNavigationPageRenderer))]    
namespace NavigationBarFontSize.Droid
{
    public class CustomNavigationPageRenderer : NavigationPageRenderer
    {
        public CustomNavigationPageRenderer(Context context) : base(context)
        {

        }

        private Android.Support.V7.Widget.Toolbar toolbar;

        public override void OnViewAdded(Android.Views.View child)
        {
            base.OnViewAdded(child);
            if (child.GetType() == typeof(Android.Support.V7.Widget.Toolbar))
            {
                toolbar = child as Android.Support.V7.Widget.Toolbar;
                toolbar.ChildViewAdded += Toolbar_ChildViewAdded;
                var a = toolbar.ChildCount;
            }
        }

        void Toolbar_ChildViewAdded(object sender, ChildViewAddedEventArgs e)
        {
            var view = e.Child.GetType();
            if (e.Child.GetType() == typeof(Android.Support.V7.Widget.AppCompatTextView))
            {
                var textView = e.Child as Android.Support.V7.Widget.AppCompatTextView;
                textView.TextSize = 50;
                toolbar.ChildViewAdded -= Toolbar_ChildViewAdded;
            }
        }
    }
}
最后,您可以通过以下方式使用它:

        public App ()
        {
            InitializeComponent();    
            MainPage = new MyNavigationPage(new MainPage());
        }

建议的代码有几个错误。您使用了哪种代码?是否进行了更改?