Cómo crear un efecto dominó en el botón en Android Studio

Verifique esto: traex / RippleEffect

Efecto de ondulación

ExpandableLayout proporciona una manera fácil de crear una vista llamada encabezado con una vista expandible. Ambas vistas son de diseño externo para permitir un máximo de personalización. Puede encontrar una muestra de cómo usar un ExpandableLayout en su diseño.

Integración

La biblioteca está disponible en Maven Central, puedes encontrarla con Gradle, por favor

dependencias {
compile ‘com.github.traex.rippleeffect: biblioteca: 1.3’
}

Uso

RippleView

Declare un RippleView dentro de su archivo de diseño XML con un contenido como un ImageView o lo que sea.

<com.andexert.library.RippleView
android: id = “@ + id / more”
android: layout_width = “? android: actionBarSize”
android: layout_height = “? android: actionBarSize”
android: layout_toLeftOf = “@ + id / more2”
android: layout_margin = “5dp”
rv_centered = “true”>

<ImageView
android: layout_width = “? android: actionBarSize”
android: layout_height = “? android: actionBarSize”
android: src = “@ android: drawable / ic_menu_edit”
android: layout_centerInParent = “true”
android: padding = “10dp”
android: background = “@ android: color / holo_blue_dark” />

Si desea saber cuándo finaliza el efecto dominó, puede configurar un oyente en su vista

rippleView.setOnRippleCompleteListener (nuevo RippleView.OnRippleCompleteListener () {

@Anular
public void onComplete (RippleView rippleView) {
Log.d (“Muestra”, “Rizado completado”);
}

});

Si desea agregar un OnClickListener , no olvide agregarlo a RippleView de esta manera:

RippleView final rippleView = (RippleView) findViewById (R.id.rippleView);
rippleView.setOnClickListener (nueva View.OnClickListener () {
@Anular
public void onClick (Ver v) {
// TODO: onRippleViewClick
}
});

Personalización

Puede cambiar varios atributos en el archivo XML, debe eliminar “rv_” si está utilizando una versión debajo de v1.1.1:

  • aplicación: rv_alpha [integer def: 90 0-255] -> Alfa de la ondulación
  • aplicación: rv_framerate [integer def: 10] -> Velocidad de fotogramas de la animación ondulada
  • aplicación: rv_rippleDuration [integer def: 400] -> Duración de la animación de ondulación
  • aplicación: rv_ripplePadding [dimensión def: 0] -> Agregar un relleno a la ondulación
  • aplicación: rv_color [def color: @android: color / blanco] -> Color de la ondulación
  • aplicación: rv_centered [def booleana: falso] -> Ondulación central en la vista secundaria
  • aplicación: rv_type [enum (simpleRipple, doubleRipple) def: simpleRipple] -> Simple o doble ripple
  • aplicación: rv_zoom [def booleana: falso] -> Habilitar la animación de zoom
  • aplicación: rv_zoomDuration [integer def: 150] -> Duración de la animación de zoom
  • aplicación: rv_zoomScale [float def: 1.03] -> Escala de animación de zoom

Para cada atributo, puede usar getters y setters para cambiar valores dinámicamente.

Use este código y configúrelo como fondo del botón

http://schemas.android.com/apk/r …”

xmlns: tools = ” http://schemas.android.com/tools&quot ;

android: color = “# f816a463”

herramientas: targetApi = “lollipop”>

Agregue esto a su elemento xml

android: background = “? selectableItemBackgroundBorderless”

para referencia futura, intente Stack Overflow