如何在Android上使用.NET MAUI使状态栏透明并显示其背后的内容?我见过这个post,有没有办法用C#重新创建它?类似于谷歌Map:
bq3bfh9z1#
在MauiProgram.cs中尝试此操作
.ConfigureLifecycleEvents(events => { #if ANDROID events.AddAndroid(android => android.OnCreate((activity, bundle) => MakeStatusBarTranslucent(activity))); static void MakeStatusBarTranslucent(Android.App.Activity activity) { activity.Window.SetFlags(Android.Views.WindowManagerFlags.LayoutNoLimits, Android.Views.WindowManagerFlags.LayoutNoLimits); activity.Window.ClearFlags(Android.Views.WindowManagerFlags.TranslucentStatus); activity.Window.SetStatusBarColor(Android.Graphics.Color.Transparent); } #endif });
aydmsdu92#
安装CommunityToolkit.Maui的1.3.0+版本,Gerald在YT:上也有关于它的视频然后在ContentPage中执行以下操作:
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:mct="clr-namespace:CommunityToolkit.Maui.Behaviors;assembly=CommunityToolkit.Maui" x:Class="MauiToolkitStatusBarBehaviorSample.MainPage"> <Page.Behaviors> <mct:StatusBarBehavior StatusBarColor="Transparent" StatusBarStyle="LightContent" /> </Page.Behaviors>
对于其他页面,您可能需要重新设置它,因为这种行为在某种程度上是全局性的,可能会影响其他页面。
2条答案
按热度按时间bq3bfh9z1#
在MauiProgram.cs中尝试此操作
aydmsdu92#
安装CommunityToolkit.Maui的1.3.0+版本,Gerald在YT:上也有关于它的视频
然后在ContentPage中执行以下操作:
对于其他页面,您可能需要重新设置它,因为这种行为在某种程度上是全局性的,可能会影响其他页面。