如何在xamarin表单中自定义标题模板

时间:2015-10-12 07:16:50

标签: c# android ios mobile xamarin

我正在使用Xamarin表单创建一个需要自定义标题的应用程序。是否可以使用Xamarin表单中的背景图像自定义标题?

1 个答案:

答案 0 :(得分:0)

你应该从Xamarin论坛看看这个解决方案 - NavigationBar Background Image Render Android,这似乎是适用于iOS和Android的跨平台解决方案。它可以通过创建自定义渲染来实现,这是在X.F中进行任何自定义的最佳方式

Android:

[assembly: ExportRenderer(typeof(ContentPage), typeof(ContentPageRenderer))]
    namespace MyApp.Renderers
    {
        public class ContentPageRenderer : PageRenderer
        {
            protected override void OnLayout(bool changed, int l, int t, int r, int b)
            {
                    base.OnLayout(changed, l, t, r, b);
                    var actionBar = ((Activity)Context).ActionBar;
                    actionBar.SetBackgroundDrawable(Resources.GetDrawable(Resource.Drawable.YourImageInDrawable));
            }
        }
    }

iOS:

[assembly: ExportRenderer(typeof(CustomNavigationPage), typeof(BlueNavigationRenderer))]
    namespace MobileCRM.iOS.Renderers
    {
        public class BlueNavigationRenderer : NavigationRenderer
        {

            public override void ViewDidLoad()
            {
                base.ViewDidLoad();

                this.NavigationBar.BarTintColor = UIColor.FromPatternImage(UIImage.FromFile("topbar_bg@2x.png"));
             }
          }
     }