【问题标题】:Android - Drop Shadow to ButtonAndroid - 给按钮投下阴影
【发布时间】:2023-12-18 04:46:01
【问题描述】:

如何在 Android 中将阴影投射到 Button?

这样:

https://app-direct-www-cloudfront.s3.amazonaws.com/app_resources/1398/overview/img257128879592909522.png

谢谢大家!

【问题讨论】:

  • 如果对您有帮助,请查看我的回答,然后请接受。

标签: android button shadow


【解决方案1】:

您可以按如下方式向位图添加阴影:

Paint mShadow = new Paint(); 
// radius=10, x-offset = 0, y-offset=2, color=black

mShadow.setShadowLayer(10.0f, 0.0f, 2.0f, 0xFF000000); 
// in onDraw(Canvas) 
canvas.drawBitmap(bitmap, 0.0f, 0.0f, mShadow);

为形状添加阴影也是类似的实现。

【讨论】:

  • 你能解释一下 setShadowLayer() 方法中的参数吗?我无法从官方文档中理解它们。
  • @RohanBhatia x/y => 阴影与您的形状在 x/y 坐标中的距离,颜色是颜色的十六进制表示,不确定半径,但我相信这与阴影的厚度。最好是玩弄这些值,看看它们各自做了什么
  • 感谢 Caner,我找到了一个解释这些参数的仓库。半径确实与阴影的模糊有关。谢谢!
【解决方案2】:

使用像this这样的9patch。只需通过右下线指定内容区域即可。

【讨论】: