我嘗試在我的Xamarin.Forms應用的主頁上使用圖標而不是標題。Xamarin.Forms:如何將一個圖標分配給Android上的單個頁面導航欄
我已經讀了很多相關的話題,但我沒有找到任何解決辦法:
- navigationpage-settitleicon
- navigationpage-settitleicon-works-on-ios-but-not-android
- toolbar-title-set-center-align
- xamarin-forms-custom-toolbar-android
- navigationpage-settitleicon-works-on-ios-but-not-android
在的iOS這是通過將該我的第一頁上,輕鬆完成:
NavigationPage.SetTitleIcon(this, "navbar_logo.png");
在的Android,我已經添加了這對Toolbar.axml:
<ImageView android:src="@drawable/navbar_adp_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
這可以工作,但現在Android上每一頁上都可以看到圖標...
我嘗試使用渲染器在我導航到另一個頁面時隱藏圖標。爲此,我想使用覆蓋OnViewAdded()方法:
public class CustomNavigationPageRenderer : NavigationPageRenderer
{
public override void OnViewAdded(Android.Views.View child)
{ ... }
}
我嘗試使用OnViewAdded()因爲我已經看到了快速監視,這種方法被稱爲每次我在Xamarin.Forms應用程序中導航。
我也注意到,該方法在導航過程中所謂的2倍:
- 第一次,孩子參數是V7.Widget.Toolbar:
- 第二次,子參數是Xamarin.Forms.Platform.Android.PageContainer:
所以,我想給孩子扔在Xamarin.Forms.Platform.Android。PageContainer,但我不能這樣做,因爲這個對象是「內部」:
PageContainer不可訪問,因爲它保護方法。
爲什麼我不能在代碼中使用QuickWatch? 我不明白是否有另一種方式來實現這一點... 你有什麼建議嗎?
你能分享你製作的自定義渲染嗎? @hankide請嘗試創建它,但它並未被解僱。 – acido