为什么同时拥有paper-fab和paper-icon-button组件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么同时拥有paper-fab和paper-icon-button组件?相关的知识,希望对你有一定的参考价值。

聚合物有paper-icon-buttonhttps://www.webcomponents.org/element/PolymerElements/paper-icon-button

聚合物也有paper-fabhttps://www.webcomponents.org/element/PolymerElements/paper-fab/elements/paper-fab

我理解设计的不同之处; material design spec推荐使用using these differently(例如“每个屏幕只推荐一个浮动动作按钮”),但组件的确有什么区别吗?或者是paper-fab只是一个粉红色的背景,边界半径和一个盒子阴影(三行css?)的paper-icon-button。基本上,我不明白为什么我应该打扰两者。

答案

正如您所评论的那样,这是因为它遵循Material Design规范的行为。 <paper-fab>旨在表示应用程序的主要操作,而<paper-icon-button>提供其他功能。

我们以Twitter移动应用程序为例。在android中,它有一个发布新推文的“纸制品”,我们都同意Twitter应用的主要目的是发布推文,因此为该动作设置浮动按钮是有意义的,同时它还有其他按钮代表作为添加功能的图标,例如您可以在搜索栏旁边找到的查找联系人按钮。

注意:考虑到此答案发布的日期,因为Twitter UI可能已经被更改。如果示例说明不明确,请对其进行评论,我会尝试发布截图。

关于Polymer中这些组件的实现,两者都使用<iron-icon>,我们可以认为代码“非常接近”,你可以在这里查看:<paper-icon-button><paper-fab>

因此,总而言之,尽管认为它们几乎相同,但最好将它们用作不同的组件,因为它们代表不同的东西。

以上是关于为什么同时拥有paper-fab和paper-icon-button组件?的主要内容,如果未能解决你的问题,请参考以下文章

项目中同时拥有 GMS 和 HMS

同时拥有 Iterator.forEachRemaining() 和 Iterable.forEach() 有啥意义?

我们是否需要同时拥有Selenium服务器和Selenium WebDriver?

为什么我在python中使用PhantomJS同时拥有两个不同的用户代理?

我怎样才能拥有一个同时包含图像和文本的 UIBarButtonItem?

如何在 codeigniter 表单中同时拥有默认值和设置值?