如何在xamarin.forms中创建扩展按钮?

时间:2017-08-20 19:52:16

标签: c# xamarin xamarin.forms user-experience tabbedpage

作为序言,我想指出我在Xamarin方面没有多少经验。我正在开发我的第一个应用程序(第一个有合法用途的应用程序)。我没有在屏幕的左侧添加抽屉,而是添加了一个按钮,当按下该按钮时会显示更多按钮。

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

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

Imgur Album of screenshots from the official Reddit app

我想强调的是,当滚动选项卡时,按钮会叠加在看似TabbedPage的位置上。最初点按按钮时还有动画,我也想实现。

经过一些进一步的研究,我发现它是一个所谓的"Micro interaction"的例子。该文章中的第五个例子是我正在寻找的。

此帖的目的

我想在TabbedPage上添加一个按钮(这样它在标签之间是持久的),当点击时,它会通过动画显示更多按钮。如果可能的话,我想尽可能使用尽可能少的平台特定代码。

正如我之前提到的,我是Xamarin(以及移动/前端开发)的新手,所以我甚至不知道从哪里开始。如果有人能够慷慨地解释如何复制这一点,或者甚至指出我的方向非常好。

1 个答案:

答案 0 :(得分:1)

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

如果默认情况下无法控制您尝试实现的目标,则可以为要支持的每个平台创建自定义渲染器。在official documentation中了解有关自定义渲染器的更多信息。

对于我链接到的库,开发人员通过派生UIControl类并覆盖某些方法(例如LayoutSubviewsTouchesBegan,{{}来创建custom iOS control 1}}等等。在渲染器中,他创建了该控件的新实例,并将其设置为XF在iOS上显示的本机控件。

在Android上,开发人员来自TouchesEnded类,并从那里开始。以下是您应该查看的链接:iOS rendererAndroid rendererSample project

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