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

Why have both paper-fab and paper-icon-button components?

聚合物具有 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 recommends using these differently(例如 "Only one floating action button is recommended per screen"),但就组件而言真的有什么不同吗?或者 paper-fab 只是一个带有粉红色背景、边框半径和框阴影(三行 css?)的 paper-icon-button。基本上,我不明白为什么我要费心导入两者。

如您所说,这是因为其行为遵循 Material 设计规范。 <paper-fab> 旨在表示应用程序的主要操作,而 <paper-icon-button> 提供附加功能。

让我们以 Twitter 移动应用程序为例。在 Android 中,它有 "paper fab" 到 post 条新推文,我们都同意 Twitter 应用程序的主要目的是 post 条推文,因此放置该操作的浮动按钮,同时它还有其他按钮,表示为图标以添加功能,例如 查找联系人 按钮,您可以在搜索栏旁边找到它。

注意: 请考虑此答案的 post 编辑日期,因为 Twitter UI 从那时起可能已更改。如果示例描述不清楚,请评论,我会尝试post截图。

关于这些组件在Polymer中的实现,都使用<iron-icon>,我们可以考虑代码"pretty close",你可以在这里查看:<paper-icon-button> and <paper-fab>

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