Material Design中的Android ImageButton不显示阴影

时间:2017-08-01 05:31:17

标签: android material-design android-imagebutton

我无法在布局的任何组件下显示材质设计阴影,我无法理解为什么。

Android最小sdk为21,<style name="AppTheme" parent="android:Theme.Material.Light">,如果我添加一个FabButton,它的阴影会根据其高程参数正常工作。但不是我的ImageButton或任何其他组件。

它的布局是:

<ImageButton
    android:id="@+id/btnMain"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/txtTitle"
    android:adjustViewBounds="true"
    android:background="@null"
    android:contentDescription="@string/btnMain_description"
    android:elevation="10dp"
    android:padding="10dp"
    android:scaleType="centerInside"
    android:src="@drawable/btn_yellow"
    app:srcCompat="@android:color/holo_red_light"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="10dp" />

The result with no shadow

我也尝试过设置与@null不同的背景,没有任何变化,没有阴影。这是怎么回事?我的布局组件有哪些高程阴影?

2 个答案:

答案 0 :(得分:1)

尝试删除$xmlContent | Write-Host而不仅仅是更改。当ImageView将BG设为null时,您将看不到阴影。另见this回答。

答案 1 :(得分:1)

尝试从图片按钮中删除android:background="@null"

   <ImageButton
     android:id="@+id/btnMain"
     android:layout_width="match_parent"
     android:layout_height="100dp"
     android:layout_alignParentStart="true"
     android:layout_below="@+id/txtTitle"
     android:adjustViewBounds="true"
     android:contentDescription="@string/btnMain_description"
     android:elevation="10dp"
     android:padding="10dp"
     android:scaleType="centerInside"
     android:src="@drawable/btn_yellow"
     android:layout_marginLeft="10dp"
     android:layout_marginRight="10dp"
     android:layout_marginTop="10dp" />