Material 设计没有阴影的按钮

Material Design Button without Shadow

我最近开始 android 开发,我有点挣扎。 我阅读了有关创建可绘制对象等的不同文章和教程。


现状

我创建了以下按钮:

使用以下代码:

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/login_btn_facebook"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:drawableStart="@drawable/ic_btn_login_facebook"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:text="Continue with Facebook"
        android:textColor="#fff"
        app:backgroundTint="#3b5998"/>

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/login_btn_google"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:drawableStart="@drawable/ic_btn_login_google"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:text="Continue with Google"
        app:backgroundTint="#ffffff" />

现在我实际上只需要一个小改动:
我不想有海拔。我希望按钮是"flat",并且只在点击时显示阴影效果。

有没有简单的方法可以做到这一点?

已经谢谢你了!


更新:
我需要将 API 级别 19 作为最低 SDK 版本。

您有两种选择:

  1. 通过向 XML 按钮添加 XML 属性:

试试这个:android:stateListAnimator="@null"

  1. 通过添加另一个 XML 属性,如果以前的替代方法不起作用:

根据 this 将此 style="?android:attr/borderlessButtonStyle" 添加到您的 XML 按钮。

如果它不起作用,请告诉我!

在布局中添加以下属性 XML 以移除阴影:

android:elevation="0dp"
android:translationZ="0dp"

这将使您的布局看起来像:

<android.support.v7.widget.AppCompatButton
    android:id="@+id/login_btn_facebook"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:drawableStart="@drawable/ic_btn_login_facebook"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:elevation="0dp"
    android:translationZ="0dp"
    android:text="Continue with Facebook"
    android:textColor="#fff"
    app:backgroundTint="#3b5998"/>

<android.support.v7.widget.AppCompatButton
    android:id="@+id/login_btn_google"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:drawableStart="@drawable/ic_btn_login_google"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:elevation="0dp"
    android:translationZ="0dp"
    android:text="Continue with Google"
    app:backgroundTint="#ffffff" />

阅读 here 了解更多信息。