2
我想设置页面图标。下面是PCL的App
类。如何在Xamarin Forms中设置页面图标?
public App()
{
CustomMainPage mainPage = new CustomMainPage();
NavigationPage rootPage = new NavigationPage(mainPage);
this.MainPage = rootPage;
}
我想要做什么?
NavigationPage.SetTitleIcon(mainPage, "icon.png");
第二种方法。
NavigationPage.SetTitleIcon(this, "icon.png");
第三种方法。
NavigationPage.SetTitleIcon(rootPage, "icon.png");
文件icon.png
位于成Resources/drawable
。
最后我决定在Xamarin Forms中为NavigationPage
实现自定义渲染器。 NavigationPage
设置为MainPage
属性为App
类的PCL。
我将DroidNavigationRenderer
类创建为Android项目。
[assembly: ExportRenderer(typeof(NavigationPage), typeof(DroidNavigationPageRenderer))]
namespace App1.Droid.DroidRenderers
{
public class DroidNavigationPageRenderer : NavigationPageRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
base.OnElementChanged(e);
var actionBar = ((Activity)Context).ActionBar;
actionBar.SetIcon(Resource.Drawable.icon);
}
}
}
但是actionBar
始终返回为空。 我做错了什么,以及如何解决它?
它不工作。我简化了我的'App'类到'this.MainPage = new ContentPage {Icon = Device.OnPlatform(“Menu”,“icon.png”,“Assets/Icons/reload.png”),BackgroundImage =“lightWood.png” };'也是行不通的。我不知道是什么问题。也许我的自定义图标影响它。它是'png'图片(52x72px)。它位于'MyProject/Resources/drawable/icon.png'中,但会显示背景图像。 –
我想你需要有NavigationPage才能显示图标。 – hamalaiv
嗨@JosephKatzman:你能做到吗? 我搜索的方式只能在一个页面上用SetTitleIcon()显示一个标志。 这在iOS上正常工作,但在Android上:徽标显示在每个页面上... –