你好,
出现这个现象的原因是Android默认有个白色的蒙板在FlyoutIcon 上面。
您可以在 yourproject/Platforms/Android
文件夹下创建一下ShellRenderer, 然后覆盖CreateToolbarAppearanceTracker 方法,然后创建一个类继承ShellToolbarAppearanceTracker,在SetColors 方法中设置 toolbarTracker.TintColor = Colors.Transparent;
.
namespace MauiApp9.Platforms.Android
{
public class CustomShellHandler : ShellRenderer
{
protected override IShellToolbarAppearanceTracker CreateToolbarAppearanceTracker()
{
return new CustomShellToolbarAppearanceTracker(this);
}
}
public class CustomShellToolbarAppearanceTracker : ShellToolbarAppearanceTracker
{
public CustomShellToolbarAppearanceTracker(IShellContext shellContext) : base(shellContext)
{
}
protected override void SetColors(AndroidX.AppCompat.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker, Microsoft.Maui.Graphics.Color foreground, Microsoft.Maui.Graphics.Color background, Microsoft.Maui.Graphics.Color title)
{
toolbarTracker.TintColor = Colors.Transparent;
base.SetColors(toolbar, toolbarTracker, foreground, background, title);
}
}
最后别忘了在,MauiProgram.cs 中注册这个CustomShellHandler
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>().UseMauiCommunityToolkit()
.ConfigureMauiHandlers(handlers =>
{
#if ANDROID
handlers.AddHandler<Shell, MauiApp9.Platforms.Android.CustomShellHandler>();
#endif
})
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。