当前位置:  开发笔记 > Android > 正文

从Action Bar xamarin中删除图标

如何解决《从ActionBarxamarin中删除图标》经验,为你挑选了2个好方法。

我想从操作栏中删除我的图标,我正在使用MasterDetail页面创建一个滑块,我使用左侧图标打开滑块,但右侧较小的图标是"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
            };




        }

    }
}

右图标是我想删除的



1> Shahabuddin ..:

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

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());

        }
    }



2> Vaikesh..:

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

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

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

因此,最好的方法是呈现NavigationPage管理一堆其他页面的导航和用户体验的类.

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

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()));  
        }  
    }  
} 

现在创建要自定义的NavigationPage控件的子类.

public class CustomNavigationRenderer : NavigationPage {}

成功构建并运行您的应用程序.

参考:

http://www.c-sharpcorner.com/UploadFile/e4bad6/remove-android-action-bar-icon-in-xamarin-forms812/

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有