请参阅下面我正在使用的代码.
由于我的应用程序有登录屏幕,所以我不想在登录屏幕上显示任何导航.我只是在app.xaml.cs中设置主页面
public App() { InitializeComponent(); MainPage = new Login(); }
点击登录后,我尝试按照方法更改图标,但无法正常工作
var dashboard = new Dashboard(){Icon = "Menuicon.png" }; Application.Current.MainPage = dashboard;
Dashbaord是masterdetail页面,在它的ctor上,我正在设置如下的详细页面
Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(DashbaordDetail))) { Icon = "Menuicon.png" };
它没有反映新的图标
解决方法 您应该使用自定义渲染器.在您的AndroID项目中,如下所示:
[assembly: ExportRenderer(typeof(CustomIcon.VIEws.MainPage),typeof(IconNavigationPageRenderer))]namespace CustomIcon.DroID{ public class IconNavigationPageRenderer : MasterDetailPageRenderer { private static AndroID.Support.V7.Widget.Toolbar GetToolbar() => (CrossCurrentActivity.Current?.Activity as MainActivity)?.FindVIEwByID<AndroID.Support.V7.Widget.Toolbar>(Resource.ID.toolbar); protected overrIDe voID OnLayout(bool changed,int l,int t,int r,int b) { base.OnLayout(changed,l,t,r,b); var toolbar = GetToolbar(); if (toolbar != null) { for (var i = 0; i < toolbar.ChildCount; i++) { var imagebutton = toolbar.GetChildAt(i) as Imagebutton; var drawerArrow = imagebutton?.Drawable as DrawerArrowDrawable; if (drawerArrow == null) continue; imagebutton.SetimageDrawable(Forms.Context.GetDrawable(Resource.Drawable.newIcon)); } } } }}
在您的iOS项目中,只使用PCL项目中xaml文件中的相同图标,如下所示:
<?xml version="1.0" enCoding="utf-8" ?><MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:CustomIcon.VIEws;assembly=CustomIcon" title="MainPage" Icon="newIcon.png" x:Class="CustomIcon.VIEws.MainPage"><MasterDetailPage.Master> <local:MasterPage x:name="masterPage" /></MasterDetailPage.Master><MasterDetailPage.Detail> <NavigationPage> <x:Arguments> <local:Page1 /> </x:Arguments> </NavigationPage></MasterDetailPage.Detail>
有关更多信息,请参阅我在github上的回购:https://github.com/wilsonvargas/CustomIconNavigationPage
总结以上是内存溢出为你收集整理的xamarin.forms – 在主要细节导航xamarin表单中更改汉堡包图标全部内容,希望文章能够帮你解决xamarin.forms – 在主要细节导航xamarin表单中更改汉堡包图标所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)