如何在 xamarin.forms 中制作展开按钮?

How do I make an expanding button in xamarin.forms?

作为序言,我想指出我在 Xamarin 方面没有太多经验。我正在处理我的第一个应用程序(第一个有合法用途的应用程序)。我不想在屏幕左侧添加抽屉,而是添加一个按钮,点击该按钮会显示更多按钮。

Android 上的官方 Reddit 应用程序(也许 iOS 上也有)正是我想要实现的。

我会嵌入图片,但我需要 10 个声誉

Imgur Album of screenshots from the official Reddit app

我想强调的是,当滚动选项卡时,该按钮覆盖在似乎是 TabbedPage 的地方。最初点击按钮时还有一个动画,我也想实现它。

经过进一步研究,我发现它是所谓的"Micro interaction"的一个例子。该文章中的第 5 个示例正是我要查找的内容。

这个post

的目的

我想在 TabbedPage 顶部添加一个按钮(以便它在选项卡之间持久存在),当点击该按钮时,它会通过动画显示更多按钮。如果可能的话,我想尽可能少地使用特定于平台的代码。

正如我之前提到的,我是 Xamarin(和 mobile/front-end 开发)的新手,所以我什至不知道从哪里开始。如果有人足够亲切地解释如何复制这个,甚至为我指出正确的方向,那就太好了。

正如 Demitrian 已经提到的,类似这样的事情不在 Xamarin.Forms 的范围内。但是,有一个 Xamarin.Forms 库实现了 Android 和 iOS 的浮动操作按钮。看看吧here.

如果默认情况下无法控制您要实现的目标,您可以为每个要支持的平台创建一个自定义渲染器。在 official documentation.

中阅读有关自定义渲染器的更多信息

对于我链接到的库,开发人员通过从 UIControl class 派生并覆盖某些方法(如 LayoutSubviewsTouchesBeganTouchesEnded 等等。在渲染器中,他创建了该控件的一个新实例并将其设置为 XF 在 iOS.

上显示的本机控件

在 Android,开发人员从 ImageButton class 派生并从那里开始。以下是您应该查看的链接:iOS renderer, Android renderer and the Sample project

请注意,库不再积极维护,因此可能需要一些工作才能开始工作。