Android L efecto de tacto de la ondulación en la forma?

Tengo un rectángulo redondeado con la elevación que arroja una sombra, apenas como en el ejemplo aquí: http://developer.android.com/preview/material/views-shadows.html#shadows

Aquí está mi forma:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/white" /> <corners android:radius="6dp" /> </shape> 

Quiero obtener el efecto "touch" de rizado que todo lo demás tiene, pero cuando se establece como fondo de la vista, no se da ninguna respuesta al tacto. La forma permanece blanca.

Así que lo hice en una layer-list :

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/white" /> <corners android:radius="6dp" /> </shape> </item> <item android:drawable="?android:selectableItemBackground" /> </layer-list> 

Ahora recibo una buena respuesta de contacto cuando la toco, pero hay un problema.

Se perdió el contorno de la forma de rectángulo redondeado. Todavía dibuja el rectángulo blanco redondeado bien, pero la sombra se echa como un rectángulo no redondeado (bordes cuadrados), y la ondulación va todo el camino más allá de las esquinas:

Esquinas malas

No parece demasiado horrible aquí, pero en el dispositivo es bastante feo y desagradable.

¿Hay una manera de arreglar esto? La sección Outline del primer vínculo parece ser lo que quiero, pero no puedo imaginar cómo implementarlo.

Intente que uno:

Ripple.xml

 <?xml version="1.0" encoding="utf-8"?> <ripple android:color="@color/COLOR_WHILE_PRESSING" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/background"></item> </ripple> 

Background.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/BACKGROUND_COLOR" /> <corners android:radius="6dp" /> </shape> 

O tal vez este mensaje le ayudará a: Android L FAB sombra del botón

He explicado allí, la forma de implementar el nuevo botón FAB, también he utilizado el esquema para ello.

Haga clic aquí para ver el código fuente completo

Crear button.xml en la carpeta dibujable

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/colorPrimaryDark"/> <item android:drawable="@color/colorPrimary"/> </selector> 

Crear button.xml en la carpeta drawable-v21

 <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item android:drawable="@color/colorPrimary" /> </ripple> 

Puede configurar button.xml como fondo de su vista.

 <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:background="@drawable/button" android:clickable="true" android:gravity="center" android:padding="16dp" android:text="Android Ripple Effect Custom" android:textColor="#fff" android:textSize="18sp" /> 

Si desea que el color personalizado de efecto de rizo en lugar de gris predeterminado, puede archivarlo agregando colorControlHighlight en su estilo.

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorControlHighlight">@color/colorPrimaryDark</item> </style> </resources> 

Botón del efecto del tacto de la ondulación en el estudio del androide

  <com.xgc1986.ripplebutton.widget.RippleButton android:id="@+id/Summit" android:layout_width="260dp" android:layout_height="50dp" android:text="Login" android:textColor="@color/white" android:textStyle="bold" app:buttonColor="@color/Button" app:rippleColor="@color/white" /> 

Para obtener más información, haga clic aquí http://androiddhina.blogspot.in/2015/04/android-ripple-touch-effect-example.html

 <RelativeLayout android:foreground="?android:attr/selectableItemBackground"> </RelativeLayout> 
  • ¿Bloquear SMS entrantes en Android con Android 4.4 o superior?
  • Soft Navigation Bar superpone la aplicación en Lollipop
  • Android L Preview no busca bibliotecas nativas en la carpeta "armeabi" (UnsatisfiedLinkError)
  • Lollipop VMs en Genymotion - posiblemente ARM La traducción no funciona
  • Obstáculos extraños al hacer que los botones parezcan Spinners en API 21
  • Cómo tener un botón de interruptor Lollipop
  • Soporte de diseño de material Android
  • Google GCM Android bloquea (java.lang.NoClassDefFoundError: com.google.android.gms.R $ cadena)
  • Styling ActionMode ActionBar en Android 5.0 Lollipop (con AppCompat)
  • ¿Cómo acceder a los archivos de Android Lollipop DocumentFile a través de NDK?
  • Configurar el icono de desbordamiento del menú para que sea blanco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.