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上:徽標顯示在每個頁面上... –