底部的 Xamarin Forms Flyout 菜单

Posted

技术标签:

【中文标题】底部的 Xamarin Forms Flyout 菜单【英文标题】:Xamarin Forms Flyout menu at bottom 【发布时间】:2021-02-07 15:05:18 【问题描述】:

有没有像图片一样在shell底部设置一个菜单项?

所以你将拥有所有正常的菜单:

然后在它的底部:

<MenuItem Text="Logout" IconImageSource="logout"
              Command="Binding SignOutCommand">
    </MenuItem>

【问题讨论】:

可以吗? 【参考方案1】:

您可以尝试将MenuItemTemplate 定义为实现此目的的解决方法:

<MenuItem Text="Logout" IconImageSource="logout"
          Command="Binding SignOutCommand">
    <Shell.MenuItemTemplate>
        <DataTemplate>
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.2*" />
                    <ColumnDefinition Width="0.8*" />
                </Grid.ColumnDefinitions>
                <Image Source="Binding Icon"
                   Margin="0,300,0,0"             //You need to adjust the margin value yourself 
                   HeightRequest="30" />
                <Label Grid.Column="1"
                   Margin="0,300,0,0"           //You need to adjust the margin value yourself 
                   Text="Binding Text"
                   FontAttributes="Italic"
                   VerticalTextAlignment="Center" />
            </Grid>
        </DataTemplate>
    </Shell.MenuItemTemplate>
</MenuItem>

【讨论】:

无论屏幕大小如何,这都有效吗? 您需要根据您的屏幕尺寸调整Margin值。

以上是关于底部的 Xamarin Forms Flyout 菜单的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Forms Shell Flyout:如何消除 FlyoutHeader 和第一个 FlyoutItem 之间的间隙?

Xamarin.Forms Shell 在汉堡菜单中将 Flyout Menu 与 MenuItem 组合并排序

Xamarin.Forms 滑动手势识别器

Xamarin Form Shell:Flyout 和 TabBar - 仅在 TabBar 中隐藏项目?

Xamarin.Forms Android 底部导航栏

Xamarin.Forms 3.1.0+版本 Android 原生支持底部导航栏