首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET MAUI透明状态栏

.NET MAUI透明状态栏
EN

Stack Overflow用户
提问于 2022-10-02 14:56:48
回答 2查看 360关注 0票数 4

如何使状态栏透明,并使用.NET MAUI在Android上显示其背后的内容?

我看过这个帖子,有什么方法可以用C#来重新创建吗?

类似于谷歌地图:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-02 17:20:47

试试这个,在MauiProgram.cs

代码语言:javascript
运行
复制
    .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
            });

票数 2
EN

Stack Overflow用户

发布于 2022-10-02 18:30:57

安装版本1.3.0+ of CommunityToolkit.Maui,杰拉尔德在YT:上也有一段关于它的视频

然后在您的ContentPage中执行如下操作:

代码语言:javascript
运行
复制
<?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>

我希望这对其他页面有所帮助,您可能希望再次设置它,因为这种行为在某种程度上是全局的,并且可能会影响其他页面。

祝你好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73926834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档