Estilizar los botones de material en Android v21

Estoy tratando de mantener el efecto de ondulación de diseño de material para dispositivos con piruleta y arriba (21 +) y estilizar el botón para que no tiene un gran margen / espacio alrededor de él.

Ejemplo 1: Botones con efecto de ondulación pero con margen / separación:

Me gusta el efecto ripple de esta versión, pero no la brecha en el diseño

Ejemplo 2: Botones sin efecto de ondulación y sin el margen / hueco:

Quiero el diseño de esta versión, pero con el efecto ripple

Quiero el diseño de Exmaple 2 con el efecto de rizado que se utiliza en el Ejemplo 1 .

Lo que mis styles-v21 parecen para el ejemplo 1 :

 <?xml version="1.0" encoding="utf-8"?> <resources> ... other styles ... <style name="FacebookButton" parent="android:Widget.Material.Button"> <item name="android:colorButtonNormal">#ff3b5998</item> <item name="android:layout_margin">0dp</item> <item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item> </style> <style name="GoogleButton" parent="android:Widget.Material.Button"> <item name="android:colorButtonNormal">#ffdd4b39</item> <item name="android:layout_margin">0dp</item> <item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item> </style> <style name="TwitterButton" parent="android:Widget.Material.Button"> <item name="android:colorButtonNormal">#ff55acee</item> <item name="android:layout_margin">0dp</item> <item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item> </style> <style name="SkipButton" parent="android:Widget.Material.Button"> <item name="android:colorButtonNormal">#ffdfa800</item> <item name="android:layout_margin">0dp</item> <item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item> </style> </resources> 

Lo que mi diseño de botón se ve como para el ejemplo 1 :

 <Button android:id="@+id/login_with_facebook" android:text="@string/login_with_facebook" android:fontFamily="sans-serif-condensed" android:textSize="16sp" android:drawableLeft="@drawable/facebook_icon" android:drawablePadding="25dp" android:layout_width="match_parent" android:layout_height="45dp" android:layout_weight="16.88" android:textColor="#ffffff" android:gravity="left|center_vertical" android:paddingLeft="45dp" android:theme="@style/FacebookButton" /> <Button android:id="@+id/login_with_google" android:text="@string/login_with_google" android:fontFamily="sans-serif-condensed" android:textSize="16sp" android:drawableLeft="@drawable/google_icon" android:drawablePadding="25dp" android:layout_width="match_parent" android:layout_height="45dp" android:layout_weight="16.88" android:textColor="#ffffffff" android:gravity="left|center_vertical" android:paddingLeft="45dp" android:theme="@style/GoogleButton" /> <Button android:id="@+id/twitter_login_button" android:text="@string/login_with_twitter" android:fontFamily="sans-serif-condensed" android:textSize="16sp" android:drawableLeft="@drawable/twitter_icon" android:drawablePadding="25dp" android:layout_height="45dp" android:gravity="left|center_vertical" android:layout_width="match_parent" android:layout_weight="16.88" android:textColor="#ffffffff" android:paddingLeft="45dp" android:theme="@style/TwitterButton" /> <Button android:id="@+id/login_anonymously" android:text="@string/login_anonymously" android:fontFamily="sans-serif-condensed" android:textSize="16sp" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="50" android:textColor="#ffffffff" android:theme="@style/SkipButton" /> 

¿Alguna idea de cómo puedo lograr el aspecto del ejemplo 2 mientras uso la metodología de ondulación que he presentado? Cualquier vínculo a recursos o ayuda sería apreciado. Gracias.

Extra:
Ya he leído sobre lo siguiente

  • Colorear botones en Android con Material Design y AppCompat
  • Cómo diseñar adecuadamente los botones de material en android

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.