xamarin.forms – 在主要细节导航xamarin表单中更改汉堡包图标

xamarin.forms – 在主要细节导航xamarin表单中更改汉堡包图标,第1张

概述我正在开发Xamarin表单,我需要在成功登录屏幕后显示主要详细信息导航.我想更改默认汉堡包图标但无法更改它. 请参阅下面我正在使用的代码. 由于我的应用程序有登录屏幕,所以我不想在登录屏幕上显示任何导航.我只是在app.xaml.cs中设置主页面 public App() { InitializeComponent(); Main 我正在开发Xamarin表单,我需要在成功登录屏幕后显示主要详细信息导航.我想更改默认汉堡包图标但无法更改它.

请参阅下面我正在使用的代码.

由于我的应用程序有登录屏幕,所以我不想在登录屏幕上显示任何导航.我只是在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表单中更改汉堡包图标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1085175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存