Android 从动作栏中删除图标xamarin
我想从操作栏中删除我的图标,我正在使用MasterDetail页面创建滑块,我正在使用左侧图标打开滑块,但我想删除的“APP Vendas”右侧较小的图标,我尝试了C#上的所有内容以轻松删除,但没有成功。 Tryiend TRANPARENT、RGBA、None等,这是我的代码和图像:Android 从动作栏中删除图标xamarin,android,xamarin,android-actionbar,icons,xamarin.forms,Android,Xamarin,Android Actionbar,Icons,Xamarin.forms,我想从操作栏中删除我的图标,我正在使用MasterDetail页面创建滑块,我正在使用左侧图标打开滑块,但我想删除的“APP Vendas”右侧较小的图标,我尝试了C#上的所有内容以轻松删除,但没有成功。 Tryiend TRANPARENT、RGBA、None等,这是我的代码和图像: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threadi
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
};
}
}
}
您只需在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());
}
}
我们可以通过改变Android项目中的
MainActivity.cs
使应用程序图标透明,如下所示:
[Activity (Label = "Sample Application", Icon = "@android:color/transparent", MainLauncher = true]
在这种情况下,没有人注意到,通过这样的更改,他们正在使应用程序图标变得透明。因此,当应用程序安装在设备上时,它不会显示图标
因此,最好的方法是呈现NavigationPage
类,该类管理其他页面堆栈的导航和用户体验
在Android项目中创建一个名为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()));
}
}
}
成功构建并运行应用程序
参考:
public class CustomNavigationRenderer : NavigationPage {}