从操作栏中删除图标xamarin

我想从操作栏中删除我的图标,我正在使用MasterDetail页面创build一个滑块,我使用左侧的图标打开滑块,但右侧较小的图标面对“APP Vendas”我想要删除,我尝试了C#上的所有东西,轻松删除,但没有成功。 Tryiend tranpatent,RGBA,None等,这里是我的代码和图像:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using App5.Menu; using App5.Categorias; using App5; namespace App5 { public class MainPage : MasterDetailPage { public MainPage() { var menuPage = new MenuPage(); menuPage.OnMenuTap = (page) => { IsPresented = false; Detail = new NavigationPage(page); }; Master = menuPage; Detail = new NavigationPage(new Resumo()) { BarBackgroundColor = Color.Black, Icon = None }; } } } 

正确的图标是我想要删除

Solutions Collecting From Web of "从操作栏中删除图标xamarin"

我们可以通过改变Android项目中的MainActivity.cs来使应用程序图标变得透明,如下所示:

 [Activity (Label = "Sample Application", Icon = "@android:color/transparent", MainLauncher = true] 

在这种情况下,没有人注意到,通过这样的改变,他们使应用程序图标变得透明。 因此,应用程序安装在设备上时不会显示图标。

所以最好的方法是渲染pipe理其他页面的导航和用户体验的NavigationPage类。

在Android项目中创build一个名为CustomNavigationRenderer的类,该类将是一个特定于平台的实现,其中包含用于隐藏操作栏中图标的代码。

 using Android.App; using Android.Graphics.Drawables; using Xamarin.Forms; using Xamarin.Forms.Platform.Android; using SampleApp; using SampleApp.Droid; [assembly: ExportRenderer(typeof(NavigationPage), typeof(CustomNavigationRenderer))] namespace SampleApp.Droid { public class CustomNavigationRenderer: NavigationRenderer { protected override void OnElementChanged(ElementChangedEventArgs < NavigationPage > e) { base.OnElementChanged(e); RemoveAppIconFromActionBar(); } void RemoveAppIconFromActionBar() { var actionBar = ((Activity) Context).ActionBar; actionBar.SetIcon(new ColorDrawable(Color.Transparent.ToAndroid())); } } } 

现在创build一个要自定义的NavigationPage控件的子类。

 public class CustomNavigationRenderer : NavigationPage {} 

成功构build并运行您的应用程序。

请参阅:

您需要在Android项目的MainActivity.cs文件中添加这些单行代码。

 ActionBar.SetIcon(Android.Resource.Color.Transparent); 

例如

 using Android.OS; using Android.Content.PM; namespace Test.Droid { [Activity(Label = "test", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); global::Xamarin.Forms.Forms.Init(this, bundle); ActionBar.SetIcon(Android.Resource.Color.Transparent); LoadApplication(new App()); } }