Android 按钮高度阴影不起作用

Android button elevation shadow not working

我正在尝试制作一个带有阴影的按钮,使用高度和背景图像作为我使用 gmail png 登录。该按钮包含在相对布局中。无论我尝试做什么,海拔都不会显示。我尝试了其他论坛问题的解决方案并且 none 有效。

这是我的按钮代码

<Button
    android:id="@+id/google"
    android:layout_width="270dp"
    android:layout_height="38dp"
    android:layout_marginTop="30dp"
    android:layout_centerHorizontal="true"
    android:background="@drawable/google"
    android:elevation="10dp"
    android:layout_below="@id/slogan"/>

google 可绘制对象是我从 Adob​​e XD 导出的 png 图像。 有人可以指点我做错了什么吗?谢谢

另外,我意识到如果我将按钮的背景设置为android:color/white 阴影就会出现。所以我认为问题出在 png 可绘制对象上?海拔不适用于 png 图像吗?有解决方法吗?

尝试一下,希望对您有所帮助,因为您的按钮后面的另一个视图或布局隐藏了阴影

android:layout_marginBottom="16dp"

由于您使用的是图片,请将 <Button> 标签替换为 <ImageButton> 的标签。因此,您的解决方法代码为:

<ImageButton
        android:id="@+id/google"
        android:layout_width="270dp"
        android:layout_height="38dp"
        android:layout_marginTop="30dp"
        android:layout_centerHorizontal="true"
        android:src="@drawable/google"
        android:elevation="10dp"
        android:layout_below="@id/slogan"/>

请注意,此处使用的是 android:src 属性,而不是 android:background 属性。

这个对我有用!

在代码行下方使用以在按钮中显示高度

android:outlineProvider="bounds" – K. Sopheak

成功了,谢谢!

对于 Material 按钮,我尝试了以下方法并且有效

android:translationZ="5dp"