如何在 .NET MAUI Flyout Shell 应用程序中自定义标题?

2023-12-02

1

  1. 如何缩小标题间距?
  2. 当我更改汉堡图标时,其图标颜色始终为白色。怎么了?
  3. 我可以设置标题字体大小和字体系列吗?

在 Android 上可以设置contentInsetLeft, contentInsetStart, contentInsetStartWithNavigation。 但我不知道如何在 .NET MAUI 中执行此操作。


自定义标题视图

如果您使用默认的 MAUI 应用程序模板,那么您正在使用 Shell,它允许您设置自定义 TitleView:

<?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:views="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="MyApp.Views.MyPage"
             Title="MyPage">

  <Shell.TitleView>
    <Grid>
      <Label 
        Text="Hello"
        HorizontalOptions="Start"
        VerticalOptions="Center"
        BackgroundColor="Orange"
        TextColor="White"
        FontSize="Title" />
    </Grid>
  </Shell.TitleView>

  <!-- .. -->
</ContentPage>

这允许您完全自定义 TitleView、向其添加按钮、更改字体、大小和颜色等。

标题间距/ContentInsetStartWithNavigation

如果没有标题和菜单图标之间的间距,则无法更改映射器/处理程序或自定义渲染器。

您可以将以下内容附加到Toolbar在你的代码中的某个地方,例如在你的MauiProgram.cs:

    Microsoft.Maui.Handlers.ToolbarHandler.Mapper.AppendToMapping("CustomNavigationView", (handler, view) =>
    {
#if ANDROID
        handler.PlatformView.ContentInsetStartWithNavigation = 0;
#endif
    });

变更前:

enter image description here

更改后:

enter image description here

汉堡菜单图标颜色

也可以更改汉堡菜单图标颜色,但这已在其他问题中涵盖:

如何让默认的 shell 弹出图标在 android 深色主题打开/关闭时做出反应

使用 shell 时如何更改毛伊岛汉堡吧的颜色

更改 .NET MAUI 应用程序中的汉堡菜单图标

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 .NET MAUI Flyout Shell 应用程序中自定义标题? 的相关文章

随机推荐

  • 使用Numpy的loadtxt读取十六进制数字

    我只能从文本文件中读取整数值 但是当我尝试读取十六进制格式的整数时 会发生错误 我正在使用的代码行是 output np loadtxt fidOut dtype int32 delimiter n 你能帮助我吗 您需要添加一个转换器 以便
  • .bat 脚本来比较两个 Windows 文件夹的内容

    我想编写一个简短的 bat 脚本来比较两个文件夹的内容 文件夹 1 包含约 1300 个文件 文件夹 2 包含约 400 个文件 我想要一个可以通过 Windows 命令行运行的脚本 该脚本将文件夹 2 中的每个文件检查以查看文件夹 1 中
  • ShoppingCart 类型的clear() 方法未定义

    我正在通过JSP实现一个购物网站 我有一个名为的 Java 对象ShoppingCart还有一个叫做 Item 在ShoppingCart有一个包含 Item 对象的向量 这个想法是当我打电话给addItem 方法 我使用 cart add
  • 如何在 Python 中将文件读入列表? [复制]

    这个问题在这里已经有答案了 我想提示用户生成一些随机数并将其保存到文件中 他给了我们那部分 我们要做的部分是打开该文件 将数字转换为列表 然后查找平均值 标准差等 而无需使用简单的内置 Python 工具 我尝试过使用open但它给了我无效
  • 更改 Rectangle.Fill 或 Grid.Background 的自定义颜色

    我可以在 xaml 中使用以下内容更改自定义颜色矩形 A125AA 但我不知道在哪里可以找到更改自定义颜色的代码 我只知道颜色代码有 this gridgcolor Background new SolidColorBrush Colors
  • 有反向代理能力的纯Python网络服务器?

    我正在寻找一个基于纯Python的Web服务器也具有反向代理的能力 看一下Twisted 特别是其反向代理资源 Twisted Web 还提供了在反向代理后面设置的各种工具 这是将 Twisted 应用程序与现有站点集成的建议机制
  • mvc3,编辑器模板,css 类,最大长度和大小

    我有一个编辑器模板如下 但 class maxlength 和 size 属性未获取源代码 using System Globalization model DateTime Html TextBox Model null Model Ha
  • GCC 常量变量的弱属性

    我有一个关于 const 变量的弱属性的问题 我用 gcc 编译了以下几个文件 main c include
  • Powershell - 每月计划任务触发器

    我目前正在通过 Powershell 自动创建计划任务 并且我正在使用New ScheduledTaskAction New ScheduledTaskTrigger and Register ScheduledTask命令 现在 我有一些
  • 删除所有已安装的 OpenCV 库

    我正在运行 Kubuntu 11 10 带有 KDE 4 8 在阅读这一切之前 我只想从我的系统中删除 OpenCV 的所有痕迹 这样我就可以重新开始 整个故事 我首先安装了 python opencv 和 libopencv 我认为是 2
  • Javascript 中函数声明中的双冒号?

    今天我发现了这段代码片段 我找不到anything相关解释此语法 真的是JavaScript吗 这是对的吗 如果不是 代码应该是什么样子 这是一个没
  • 更新到 laravel 5.4 后出现会话错误

    从laravel 5 3更新到5 4后 我在vendor中遇到了错误 错误是 Symfony Component Debug Exception FatalThrowableError 调用 var www ostadbank com ve
  • Android BLE扫描模式设置间隔

    我正在编写一个小型测试应用程序来评估蓝牙模块 该应用程序当前正在使用积极的匹配模式和低延迟扫描模式进行扫描 我们控制了蓝牙模块的广告间隔 并正在尝试评估需要多少广告才能触发android中的回调 有谁知道与低延迟 平衡和低功耗扫描模式设置相
  • 使用 Java 在 GUI 编程中混合 awt 和 swing

    我在 SO 上读到混合 awt 和 swing 对于 Java 中的 GUI 编程来说并不是一个好的方法 但我无法找到任何在使用 swing 时不使用某些 awt 组件的示例 例如 即使使用 swing 我遇到的大多数示例也会使用 awt
  • MySQL:如何查询父子关系?

    假设有如下表记录 TABLE foo foo id foo parent id 1 NULL 2 NULL 3 1 4 2 5 1 6 1 7 2 8 1 9 NULL
  • Log4J 2 查找值在加载/呈现之前在配置中使用

    我正在使用 SystemPropertiesLookup 查找来配置我的 Log4J2 配置 系统属性被设置为我的主要方法中的第一行 问题是 当 Log4J 加载配置时 尚未调用 main 方法 因此系统属性尚未填充 这是我的 log4j2
  • 模板类 - 无法解析的外部符号[重复]

    这个问题在这里已经有答案了 我经常收到这个错误 但我不知道为什么 有人可以帮我找到原因吗 编辑 删除代码 将实现 您的方法定义 与类声明一起放入标头中 请参阅这在 C 常见问题解答中 一些编译器支持 export 关键字来按照您的方式执行此
  • 获取上次打开的 MS Word 文档对象

    我有一个从 MS Word 2003 模板 dot 中的 VBA AutoNew 子函数调用的 python 脚本 因此每次从此 Word 模板创建文档时它都会运行 第三方应用程序从此模板创建文档 第三方应用程序如何设置文档存在许多格式问题
  • 多态类中的虚拟析构函数

    我知道只要有一个多态基类 该基类就应该定义一个虚拟析构函数 这样当一个指向派生类对象的基类指针被删除时 它会先调用派生类的析构函数 如果我在这里错了 请纠正我 另外 如果基类析构函数是非虚拟的 则删除指向派生对象的基类指针将是未定义的行为
  • 如何在 .NET MAUI Flyout Shell 应用程序中自定义标题?

    如何缩小标题间距 当我更改汉堡图标时 其图标颜色始终为白色 怎么了 我可以设置标题字体大小和字体系列吗 在 Android 上可以设置contentInsetLeft contentInsetStart contentInsetStartW