Flat Button

Según la documentación de Google sobre Material Design.

Un botón está compuesto por tinta que muestra reacciones cuando se presiona y no se levanta.

¿Cómo se añade?

I. En tu archivo build.gradle añade la última versión de la librería appcompat.

dependencies {  
    compile 'com.android.support:appcompat-v7:X.X.X' 
    // where X.X.X version
}

II. Haz que tu actividad extienda de android.support.v7.app.AppCompatActivity.

public class MainActivity extends AppCompatActivity {  
    ...
}

III. Declara tu Button dentro de cualquier archivo layout.xml con un estilo Borderless.

<Button  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    style="@style/Widget.AppCompat.Button.Borderless"/>

¿Cómo modificar el estilo?

I. Declara un estilo personalizado en el archivo de estilos styles.xml.

<style name="MyButton" parent="Theme.AppCompat.Light">  
    <item name="colorControlHighlight">@color/pink</item>
</style>  

III. Aplica este estilo al Button con el atributo android:theme.

<Button  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:theme="@style/MyButton"
    style="@style/Widget.AppCompat.Button.Borderless"/>

Escrito originalmente por Dmytro Danylyk en MaterialDoc