Android按钮高程阴影不起作用

时间:2017-06-14 06:54:49

标签: android material-design android-elevation

我正在尝试制作一个使用高程阴影的按钮,背景图像是我用gmail png登录的。该按钮包含在相对布局中。无论我尝试做什么,高程都不会显示。我尝试过其他论坛问题的解决方案,但都没有。

这是我的按钮代码

<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 drawable是我从Adobe XD导出的png图像。 有人可以给我一个关于我做错的指针吗?感谢。

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

4 个答案:

答案 0 :(得分:6)

使用android:outlineProvider =&#34; bounds&#34; - K. Sopheak

有效,谢谢!

答案 1 :(得分:0)

尝试这个我希望它有所帮助,因为在您的按钮隐藏阴影之后的另一个视图或布局

android:layout_marginBottom="16dp"

答案 2 :(得分:0)

由于您使用的是图片,请将<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属性。

这个对我有用!

答案 3 :(得分:0)

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

android:translationZ="5dp"