首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何创建溢出菜单(不在工具栏上)- Xamarin.Forms

在Xamarin.Forms中创建溢出菜单(不在工具栏上)可以通过使用弹出菜单(Popup Menu)实现。弹出菜单是一种在用户点击或长按某个元素时显示的临时菜单。

以下是创建溢出菜单的步骤:

  1. 导入所需的命名空间:
代码语言:txt
复制
using Xamarin.Forms;
  1. 创建一个按钮或其他触发弹出菜单的元素:
代码语言:txt
复制
Button overflowButton = new Button
{
    Text = "溢出菜单",
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.Center
};
  1. 创建弹出菜单的菜单项:
代码语言:txt
复制
MenuItem menuItem1 = new MenuItem { Text = "菜单项1" };
MenuItem menuItem2 = new MenuItem { Text = "菜单项2" };
MenuItem menuItem3 = new MenuItem { Text = "菜单项3" };
  1. 将菜单项添加到弹出菜单中:
代码语言:txt
复制
PopupMenu popupMenu = new PopupMenu();
popupMenu.Items.Add(menuItem1);
popupMenu.Items.Add(menuItem2);
popupMenu.Items.Add(menuItem3);
  1. 为按钮或其他元素添加点击事件处理程序,并在事件处理程序中显示弹出菜单:
代码语言:txt
复制
overflowButton.Clicked += async (sender, e) =>
{
    await popupMenu.ShowAsync(sender as View);
};

完整的示例代码如下所示:

代码语言:txt
复制
using Xamarin.Forms;

namespace YourNamespace
{
    public class YourPage : ContentPage
    {
        public YourPage()
        {
            Button overflowButton = new Button
            {
                Text = "溢出菜单",
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.Center
            };

            MenuItem menuItem1 = new MenuItem { Text = "菜单项1" };
            MenuItem menuItem2 = new MenuItem { Text = "菜单项2" };
            MenuItem menuItem3 = new MenuItem { Text = "菜单项3" };

            PopupMenu popupMenu = new PopupMenu();
            popupMenu.Items.Add(menuItem1);
            popupMenu.Items.Add(menuItem2);
            popupMenu.Items.Add(menuItem3);

            overflowButton.Clicked += async (sender, e) =>
            {
                await popupMenu.ShowAsync(sender as View);
            };

            Content = new StackLayout
            {
                Children = { overflowButton }
            };
        }
    }
}

这样,当用户点击溢出菜单按钮时,弹出菜单将显示在按钮附近。用户可以选择菜单项执行相应的操作。

注意:Xamarin.Forms中的弹出菜单在不同平台上的外观和行为可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Material Design —悬浮响应式按钮(Buttons: Floating Action Button)

这可以防止: ·悬浮响应式按钮在不在屏幕时显示功能 ·悬浮响应式按钮与内容海拔相同的感觉 ---- 变换 变换 浮动操作按钮是app中主要用例的特别示例。...利用其可见性为主要的UI元素创建令人愉快的变换。 常用变换包括触发,工具栏,Speed dial和变形。 这不是一个详尽的清单。 悬浮响应式按钮的设计灵活。...如果悬浮响应式按钮变形为工具栏,则该工具栏应包含相关操作。 ? 工具栏中的操作需关联 Speed dial 按动悬浮响应式按钮可以甩出相关动作。 菜单被唤起后,该按钮应保持在屏幕。...不要在浮动操作按钮操作中放置溢出菜单。 从最初的屏幕应该最多只有两次点击就能到达预期的目的地。 ? 将溢出操作置于工具栏中的溢出菜单中,而不是悬浮响应式按钮中。 ?...但是,如果显示的操作与按钮无关,请将操作放入溢出菜单。 ? 悬浮响应式按钮可以包含联系人列表。 该列表不应包含无关的操作。 ? 变形 浮动操作按钮可以转换为属于应用程序结构的一部分材料。

5.8K90

Xamarin Forms WPF 干掉默认的窗口导航条

创建默认的 Xamarin Forms WPF 应用,将和 UWP 应用的界面不相同,在 WPF 项目会显示顶部蓝色的一条,看起来不好看,那么可以如何干掉他 下图是一个默认的 Xamarin Forms...此时显示工具的蓝色条就是本文说的 窗口导航条,在 Xamarin Forms 的源代码,这个导航条是在 FormsWindow.xaml 文件里面,使用 PART_TopAppBar 控制的,也就是想要不显示这个工具栏...此时原本显示工具的蓝色的一条就被干掉了 这部分文档请看 Navigation In Xamarin.Forms xamarin.forms - Remove navigation bar in contentpage...Xamarin - Stack Overflow Navigating in Xamarin Forms - Xamarin Help 那为什么设置 HasNavigationBar 就能干掉工具栏,...NavigationPage.GetHasNavigationBar 的方法获取 所以在 MainPage 设置 NavigationPage.HasNavigationBar="False" 就能让 VisualPageRenderer 也就是对应的布局更新工具栏不可见

1.3K10
  • 【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    应用内工具栏现在的主题(v16.2) 应用内工具栏元素选择行为更改: 我们更新了应用程序内工具栏功能“启用选择”的行为,用于在运行的应用程序中选择元素。...尽管此功能最终将对所有 XAML 开发人员(WPF,UWP和Xamarin.Forms)都起作用,但新面板将使为那些构建WPF应用程序的客户更容易发现绑定失败。 ?...要了解如何入门,请访问我们的文档。 资源和模板 合并资源字典: 现在,可以使用解决方案资源管理器提供的新功能,轻松地将 UWP / WPF 项目中的现有资源词典与任何有效的 XAML 文件合并。...在上下文菜单中,选择“将资源字典合并到活动窗口中”选项,该选项将添加带有路径的正确合并 XAML。 ?...包装和签名 UWP应用(v16.3)的签名证书: 通过清单设计器恢复了创建和导入签名证书文件(.pfx)的功能。我们还引入了通过打包向导创建和导入签名证书的功能,以简化签名过程。

    7.3K30

    Succinctly 中文系列教程(三)20220109 更新

    一、简介 二、开发环境 三、Angular CLI 四、文件和文件夹 五、定制 六、你的环境 七、探索 HelloWorld 八、稍微调整它 九、组件 十、模板 十一、模块 十二、我们的应用 十三、菜单导航...六、性能优化 七、常见陷阱 八、附录 A:使用其它数据库 九、附录 B:不在 EF2.0 中的特征 Succinctly ForceCom 教程 零、简介 一、Force.com 概览 二、客户端自定义对象...三、颜色 四、助手类 五、容器 六、视觉元素 七、正文 八、菜单 九、表格和列表 十、按钮和标签 十一、表单 十二、动画 十三、模态对话框 十四、图像 十五、 W3CSS 示例代码 十六、版本 十七、总结...教程 零、简介 一、开始学习 Xamarin.Forms 二、平台间代码共享 三、使用 XAML 构建用户界面 四、使用布局组织 UI 五、Xamarin.Forms 常用控件 六、页面和导航 七、...资源和数据绑定 八、访问平台特定的 API 九、管理应用生命周期 十、实用资源 Succinctly 面向 MacOS 的 Xamarin.Forms 教程 零、简介 一、开始学习 Xamarin.Forms

    18.4K20

    Xamarin 学习笔记 - Page(页面)

    引言 在之前的章节,我讲解了如何为Android或者iOS应用程序开发准备环境以及Layout布局的一些基本概念。 在本章中,我将开始在Xamarin.Forms中展示我们页面的结构。...Xamarin.Forms基于Page页面的概念,我们可以使用XAML创建一个应用程序来设计我们的页面以及后台的C#代码。...一个页面代表Windows中的一个视图控制器,一个Windows中的一个页面,就像Android的一个Activity,但不是一个活动的Activity。”...本文介绍如何使用MasterDetailPage和在其信息页面之间导航。”更多详细信息,请查看此链接。 ?...主记录页面将包含菜单列表,详细信息页面将显示详细信息并将链接返回主记录页面,想法很简单,如果你有任何按钮或选项在菜单中显示它但你想在一开始隐藏它们,以保持良好的UI体验。

    4.6K20

    PyCharm入门教程——用户界面导览「建议收藏」

    通过这篇文章,您可以了解PyCharm用户界面是如何组织的,以帮助您在工作环境中找到自己的方式。...主工具栏复制了主菜单的基本命令,以便快速访问。默认情况下,主工具栏是隐藏的。要显示它,请从主菜单中选择查看工具栏。 Navigation bar ——项目工具窗口的快速替代。...PyCharm窗口的主要元素 1.Main menu 通过使用主菜单,您可以打开和创建项目、重构代码、运行和调试应用程序、保持文件受版本控制或运行其他命令。...2.Main toolbar 主工具栏包含复制基本命令以快速访问的按钮。 默认情况下,主工具栏是隐藏的。要显示它,请选择主菜单的View | Toolbar。...提示和技巧 使用“ View ”菜单显示或隐藏PyCharm UI的主要元素。 菜单工具栏按钮中的操作说明显示在状态栏的左侧。

    3.6K10

    Android开发笔记(一百一十九)工具栏ToolBar

    导航图标在工具栏图标左边。 setNavigationOnClickListener : 设置导航图标的点击监听器。 setOverflowIcon : 设置溢出菜单的按钮图标。...showOverflowMenu : 显示溢出菜单图标。 hideOverflowMenu : 隐藏溢出菜单图标。 dismissPopupMenus : 关闭已弹出的菜单。...Toolbar运行问题处理集锦 更换导航栏还是存在一些兼容问题的,下面是博主发现的几个情况及其解决办法: 1、溢出菜单菜单项已经设置为android:showAsAction="ifRoom"...,但即使工具栏还有空间,该菜单项也不会显示在工具栏。...2、溢出菜单列表在菜单文字左侧显示图标的方法,使用ActionBar时正常,使用Toolbar时反而不会显示图标了。

    1.9K30

    Xamarin 技术全解析

    iOS原生应用 下面会使用Mac OS X的Xamarin Studio来演示如何构建iOS应用: - 打开Xamarin Studio - 新建一个项目,选择iOS - App - Single View...2.2 使用Xamarin.Android来构建Android原生应用 下面会使用Mac OS X的Xamarin Studio来演示如何构建iOS应用: - 打开Xamarin Studio - 新建一个项目...打开Main.axml文件,可以从Toolbox拖拽一些原生控件到View Controller,与Eclipse的体验类似,也可以通过编辑XML的方式更改界面。 ...2.3 使用Xamarin.Forms来构建跨平台的应用 Xamarin.Forms 是一个创建跨平台用户界面的库,通过Xamarin.Forms 可以一次编码生成基于各个移动平台(iOS, Android...如果先了解更多关于如何使用Xamarin.Forms构建跨平台应用,请参见文章:Xamarin.Forms入门-使用 Xamarin.Forms创建跨平台的用户界面。 3.

    5.9K70

    2.Hello Xamarin

    从这篇文章开始我们将正式进入 Xamarin 学习的课程,并且开始创建贯穿整个基础专栏的 APP (安卓APP)。 零、创建项目 我们打开 VS2019 选择 创建新项目 ?...2.在创建新项目窗口选择 项目类型 菜单中的 移动 ,并选择 移动应用(Xamarin.Forms) 项目类型。 ? 3....在配置新项目窗口输入我们的要创建的项目名称 Notes 以及存储位置,单击创建并在弹出的选择框中选择空白,其他默认。 ?...1.单击 调试 按钮的下拉箭头,选择 创建 Android Emulator 以启动仿真器创建窗口。 ? 2.在安卓设备管理器中单击 新建 按钮,设置我们的安卓运行环境。 ?...到此为止我们就完成了 Xamarin 项目的创建和环境配置以及运行。 二、总结 这篇文章主要讲解了项目的创建、安卓环境的配置以及运行。下一篇文章我将讲解如何在 App 添加元素和事件。

    1.9K10

    从零开始的Android:常见的UI设计模式

    在本教程中,您将学习其中的一些模式,以及它们如何通过在使用应用程序时创造出色的体验来帮助用户。 1.主画面 用户在打开应用程序时看到的第一个屏幕通常是最重要的。...由于此模式非常适合用于顶层导航,因此可以轻松地将其与tabs模式配对以在您的应用程序中创建复杂的导航方案。...至少,该工具栏包含该部分或应用程序的标题,但是工具栏设计模式还有助于将操作按钮直接放置在工具栏溢出菜单中,以允许用户在应用程序的该部分中执行任务。...在Google Keep应用程序中可以找到一个示例,该应用程序使您可以更改便笺的颜色,向该便笺中添加其他人以及溢出菜单中存在的许多其他操作。...结论 尽管这还远远没有列出Android用户界面设计模式,但已向您介绍了Android一些最常见的模式,以及如何使用它们来提高应用程序的可用性。

    2.7K20

    Xamarin.Forms入门-使用 Xamarin.Forms创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的、基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面。...Xamarin.Forms 通过使用平台的原生控件来渲染用户界面,使用 Xamarin.Forms 的 App在外观与平台完全一致。...的项目 · 如何使用Xamarin.Forms的控件 · 如何在页面之间进行导航 · 如何进行数据绑定 系统需求 iOS : 由于Apple限制iOS应用程式编译都需要透过Xcode, 因此需要1台MAC...使用 Xamarin.Forms Page Android 创建一个Activity类型,并且使用 MainLauncher 特性修饰,在 OnCreate 方法中,初始化Xamarin.Forms框架...是什么,以及如何使用 Xamarin.Forms 来构建跨平台的应用,我们从如何安装 Xamarin.Forms,到如何创建一个 Xamarin.Forms 项目,如何构建用户界面,如何进行数据绑定以及如何切换页面

    12.9K70

    Python 图形化界面基础篇:响应菜单工具栏事件

    在本文中,我们将重点介绍如何使用 Python 的 Tkinter 库创建菜单工具栏,以及如何响应它们的事件。 Tkinter 库简介 首先,让我们简要介绍一下 Tkinter 库。...步骤4:创建菜单菜单项 要在菜单创建菜单菜单项,我们可以使用 menu_bar 对象的 add_cascade 方法。...以下是一个示例,演示如何工具栏添加两个工具按钮:“打开"和"保存”。...root.mainloop() 完整示例代码 下面是一个完整的示例代码,展示了如何创建菜单工具栏,并响应它们的事件: import tkinter as tk from tkinter import...结论 在本文中,我们学习了如何使用 Python 的 Tkinter 库创建菜单工具栏,并响应它们的事件。菜单工具栏是 GUI 应用程序中常见的界面元素,用于提供用户友好的操作方式。

    52320

    宇宙第一 IDE 叕发布新版了

    状态栏的增强,包括从空 VS 查看和打开仓库的新功能,并显示未拉动提交的数量 Git Changes 窗口的溢出菜单现在可用于仅有本地仓库的额外 git 操作 统一的 Diff 工具栏,包含添加/删除的行数和可发现的配置选项...提交细节的改进,包括一个更灵敏和用户友好的用户界面 帮助菜单 在 17.0 版本中,我们重新设计了帮助菜单,包括入门材料和有用的提示/技巧。...你将能够在 Visual Studio 中使用你电脑安装的框架版本创建 Angular 和 React 项目。...关于如何迁移到新的可扩展性模型的进一步信息,请参考下面的迁移文档。   ...XAML 热重载 XAML Hot Reload 的变化--对应用内的工具栏和设置的微小变化   XAML 实时预览 XAML 实时预览现在可用于 WPF、UWP、WinUI 和 Xamarin.Forms

    4.1K10

    宇宙第一 IDE 叕发布新版了

    状态栏的增强,包括从空 VS 查看和打开仓库的新功能,并显示未拉动提交的数量 Git Changes 窗口的溢出菜单现在可用于仅有本地仓库的额外 git 操作 统一的 Diff 工具栏,包含添加/删除的行数和可发现的配置选项...提交细节的改进,包括一个更灵敏和用户友好的用户界面 帮助菜单 在 17.0 版本中,我们重新设计了帮助菜单,包括入门材料和有用的提示/技巧。...你将能够在 Visual Studio 中使用你电脑安装的框架版本创建 Angular 和 React 项目。...关于如何迁移到新的可扩展性模型的进一步信息,请参考下面的迁移文档。   ...XAML 热重载 XAML Hot Reload 的变化--对应用内的工具栏和设置的微小变化   XAML 实时预览 XAML 实时预览现在可用于 WPF、UWP、WinUI 和 Xamarin.Forms

    4.2K20

    制作你自己的快速工具栏

    在上面的两篇文章中 一个如何打开开发工具("开发工具"在哪里) 一个建立自己的菜单(建立你自己的Excel菜单) 细心的你们应该都发现了 他们最终都会导向一个窗口 "Excel选项" 而今天的快速访问工具栏...一个添加 一个自定义 在菜单任意功能按钮点击右键 就可以将你想要的功能加到快速访问工具栏啦 例如我经常要用到字体 我就在字体那点右键→添加到快速访问工具栏 我还经常用到格式 也可以右键快速添加 看到没...它就进去了 另外一个按钮呢 也是和昨天的'自定义功能区'一样的 会给你快速打开最开始提到的Excel选项窗口 ---- 如何添加想要的功能到快速访问工具栏呢 一个就是上面说的右键啦 一个就是官方路径...然后再点击功能 未免过于麻烦 虽然菜单栏消失了 但是工具栏没有啊 你可以点击工具栏啊 景4:隐藏的神秘功能 Excel总是让人惊叹的地方也在于 Excel原来还有这个功能!...它没有将所有功能都放在菜单里 保留了一部分 在Excel选项窗口 有一个'不在功能区中的命令' 你可以在这里面找到很多神奇的但是一般人看不到的功能 比如:照相机 这个功能怎么用留给你们自己去百度吧

    95120

    dotnet 在 UOS 国产系统使用 Xamarin Forms 创建 xaml 界面的 GTK 应用

    本文告诉大家如何在 UOS 国产系统,通过 Xamarin.Forms 使用 XAML 写界面逻辑,构建出 GTK 应用 本文将使用特别底层的方法告诉大家如何一步步创建,而不是告诉大家如何在 IDE...因此本文更适合用来告诉大家一些基础的内容,而不适合用来规模化创建 请注意,本文的步骤很多,只是我为了让大家能了解更多细节。...实际没有那么复杂 在开始之前,请确定你安装好了环境,如何安装请看下面博客 dotnet 在 UOS 国产系统安装 MonoDevelop 开发工具 dotnet 在 UOS 国产系统使用 MonoDevelop...创建 GTK 全平台带界面应用 dotnet 在 UOS 国产系统使用 MonoDevelop 进行拖控件开发 GTK 应用 如 dotnet 在 UOS 国产系统使用 MonoDevelop 创建...有小伙伴说,在 Windows 下,用 VS 新建一个 Xamarin.Forms 项目之后,再拷贝到 UOS ,也是可以的,但是有一点需要注意的是不能拷贝 bin 和 obj 文件夹过去,原因是在

    2.6K10

    让你效率提高300%的Excel键盘技巧

    “从下列位置选择命令”下拉菜单中,我们可以根据目标命令所在的位置来选择“常用命令”、“不在功能区的命令”、“选项卡”命令,快捷地找到我们需要添加的命令。如果不清楚命令在哪个选项下,可选择所有命令。...删除“快速访问工具栏”中的命令。在上图“自定义快速访问工具栏”框中选中需要删除的命令,点击“添加”下面的“删除”,然后点击确定即可。 2.通过菜单栏中的“快速访问工具栏”来增加或者删除命令。...首先在数据选项卡下找到”删除重复项“命令;右键单击在弹出的菜单中选择”添加到快速访问工具栏“。然后我们就在Excel左上角的“快速访问工具栏”里看到我们钢材添加的命令了。...从快速访问工具栏中删除不需要的命令也很简单,在需要删除的命令右键单击,选择从快速访问工具栏中删除此命令”即可。...在目标命令右键单击,然后选择“添加到快速访问工具栏” 在“快速访问工具栏”可以看到我们刚才添加的命令了 调用和修改“快速访问工具栏”中的命令 调用:直接用鼠标在菜单栏中”快速访问工具栏“相应的命令单击即可使用

    1K80

    三种菜单控件的兼容性问题处理集锦

    我们在Android Studio里面创建一个新的Activity代码,默认都是继承AppCompatActivity,而且build.gradle中也指定了appcompat-v7的编译版本,举例如下...由于ActionBar与Toolbar使用方式的差异,因此造成溢出菜单要分别对这种导航栏进行兼容适配。...举个例子,默认情况下,溢出菜单列表的菜单项不会在文字左边显示图标,即使设置了icon属性也不管用。...m.invoke(menu, true); } catch (Exception e) { e.printStackTrace(); } } } } 再举个例子,如果想让溢出菜单的某个菜单图标显示在导航栏...即使导航栏还有空间,也设置了ifRoom或者always的菜单项,可是其图标并不会显示在导航栏。为什么会这样呢?

    80310

    制作一个简单的绘图软件(让人头大的JAVA期末作业)

    2、添加工具栏工具栏添加JComboBox组件,用于选择线条的宽度。...预习开始: 我遇到的第一个难题就是:菜单栏的菜单Start的子菜单DrawLine下还有子菜单DrawLineA,DrawLineB,DrawLineC,如何通过代码来实现。...预习的第四部分内容是如何创建工具栏并添加工具栏组件?预习的第四个知识点: JToolBar(工具栏)(来源作者:xietansheng)。工具栏是可以拖动的,看下效果。 ? ? ?...预习的第五部分内容是如何创建一个下拉列表框?预习的第五个知识点:JComboBox(下拉列表框)(来源作者:xietansheng)。...预习的第七部分是如何在点击Circle、Matrix、Line、Eraser(才发现我上面写的是eraser,首字母忘记大写了)这些工具栏按钮后,出现相应的画图功能? 预习的第七个知识点是在教材

    2.3K10
    领券