我正在使用Xamarin表单创建一个需要自定义标题的应用程序。是否可以使用Xamarin表单中的背景图像自定义标题?
答案 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"));
}
}
}