2017-06-14 91 views
1

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

这里是我的按钮

<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"/> 

在谷歌绘制的是,我从Adobe XD出口PNG图像的代码。 有人能给我一个指针,指出我做错了什么吗?谢谢。

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

+2

https://stackoverflow.com/questions/27080338/android-5-0-androidelevation-works-for-view-but-not-button –

+0

你可以设置android:stateListAnimator =“@ null”按钮 –

+2

@ IntelliJAmiya正如我所说,我已经浏览过论坛。将stateListAnimator设置为null,对于布局,clipToPadding设置为false仍然不会使阴影显示。难道我做错了什么? –

回答

1

使用Android:outlineProvider = “边界” - K. Sopheak

这样的作品,谢谢!

0

试试这个我希望它能帮助,因为只是你的按钮后,另一种观点或布局由于您使用的图像隐藏阴影

android:layout_marginBottom="16dp" 
+0

当我将背景设置为android:color/white时,会出现阴影,所以我不认为这是因为其他视图隐藏它 –

0

,与一个<ImageButton>的更换<Button>标签。所以,你的解决方法代码如下:

<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属性。

这一个为我工作!