如何在 MAUI 的 snackbar 中将消息居中

Wenyan Zhang (Shanghai Wicresoft Co,.Ltd.) 32,386 信誉分 Microsoft 供应商
2024-07-22T06:47:31.53+00:00

你好,

我正在使用 MAUI 中带有消息的 SnackBar。目前,SnackBar 中的消息是左对齐的,但我想显示一条在 SnackBar 中心对齐的消息。另外,我不想在 SnackBar 中有一个操作按钮。有没有办法在中心显示信息?

请找到我用来显示 SnackBar 的代码


CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

SnackbarOptions snackbarOptions = new SnackbarOptions

{

	BackgroundColor = Current.RequestedTheme == AppTheme.Light

		? (Color)(Current.Resources["BlueDark"])

		: (Color)(Current.Resources["DShuttleGray"]),

};

 

ISnackbar snackbar = Snackbar.Make(message, null, "",

	(secondsToShow == 0 ? new TimeSpan(0, 0, 4) : new TimeSpan(0, 0, secondsToShow)),

snackbarOptions);

 

await snackbar.Show(cancellationTokenSource.Token);

此问题整理于:https://learn.microsoft.com/en-us/answers/questions/1792057/how-to-align-the-message-to-center-in-snackbar-in

.NET MAUI
.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
89 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 44,011 信誉分 Microsoft 供应商
    2024-07-22T06:52:54.87+00:00

    你好,

    MAUI 中的 SnackBar 当前没有用于更改文本对齐 API 的 API。

    对于此要求,您可以通过自定义弹出窗口来实现它。Popup 也是 CommunityToolkit 提供的控件,因此您无需安装其他软件包。

    您可以参考以下示例。此示例演示如何实现自定义底部弹出窗口并使文本内容居中。

    <?xml version="1.0" encoding="utf-8" ?>
    <toolkit:Popup xmlns="
    http://schemas.microsoft.com/dotnet/2021/maui"
                 xmlns:x="
    http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="MauiApp2.NewPage1"
                  xmlns:toolkit="
    http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
    <VerticalStackLayout WidthRequest="300" HorizontalOptions="Center" Margin="15">
    <Label Margin="10"
                x:Name="message"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand" />
    </VerticalStackLayout>
    </toolkit:Popup>
    
    public partial class NewPage1 : Popup
    {
    	public NewPage1(string test)
    	{
    		this.VerticalOptions = Microsoft.Maui.Primitives.LayoutAlignment.End;
     
    
            InitializeComponent();
            message.Text = test;
        }
    }
     
    // invoke this popup page
    var pop = new NewPage1("test");
    this.ShowPopup(pop);
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。