Android - 按钮阴影的好习惯

时间:2017-03-03 11:27:15

标签: android image button shadow

我很难定位具有自定义阴影的按钮。

例如,设计师创建了这个按钮:

image with shadow

如您所见,图像底部的阴影更大。

我希望按钮布局只包含按钮,而不是周围的阴影(有几个原因:对齐,按钮效果等)。所以我测量每一侧的阴影并将它们用作正边距或负边距。我还使用android:clipChildren =“false”,以便阴影可以显示在按钮布局之外。

但是如果我想调整图像大小,那么所有边距都已过时了。在Android上使用包含阴影的图像真的是一个好习惯吗?或者有一种简单的方法可以通过编程方式实现设计师所做的阴影吗?

非常感谢,我们将不胜感激。

3 个答案:

答案 0 :(得分:0)

你应该利用Elevation功能可以作为android的材料设计的一部分。您可以为UI元素定义高程。海拔越高,阴影越深。

当然,您需要遵循以下规则和指南: https://developer.android.com/training/material/shadows-clipping.html

答案 1 :(得分:0)

我同意 CoderP 。您应该使用提升功能。

     android:elevation="4dp";

查看一些有关的内容并且不在此链接中: https://material.io/guidelines/material-design/elevation-shadows.html#elevation-shadows-object-relationships

我希望这会对你有所帮助。有一个好的。

答案 2 :(得分:0)

不幸的是我不得不使用上面的图片,因此我无法使用高程功能。如果您有选择,我建议使用高程作为其他答案。

然而,如果像我一样你没有选择权,我已经成功地使用了“clipChildren”属性和负边距。基本上我将frameLayout放在按钮的位置,并添加一个未剪裁的子ImageView,其中包含整个图像,带有负边距。