No se abordarán ningún problema o solicitud de extracción. Considere bifurcar su propia versión si es necesario realizar cambios.
Envoltorio de efecto dominó para vistas de Android
compile ' com.balysv:material-ripple:1.0.2 '
Busque el número de versión más reciente en el widget a continuación o visite Lanzamientos
Utilice un inicializador estático en su View
(consulte los atributos xml
a continuación para personalizarlos)
MaterialRippleLayout . on ( view )
. rippleColor ( Color . BLACK )
. create ();
O ajuste su View
con MaterialRippleLayout
en su archivo de diseño:
< com .balysv.materialripple.MaterialRippleLayout
android : id = " @+id/ripple "
android : layout_width = " match_parent "
android : layout_height = " wrap_content " >
< Button
android : layout_width = " match_parent "
android : layout_height = " wrap_content "
android : layout_gravity = " center "
android : text = " Button inside a ripple " />
</ com .balysv.materialripple.MaterialRippleLayout>
Si lo usa en un AdapterView
debe configurar rippleInAdapter
en true
Configure usando atributos xml o configuradores en el código:
app : mrl_rippleOverlay = "true" // if true, ripple is drawn in foreground; false - background
app : mrl_rippleColor = "#ff0000" // color of ripple
app : mrl_rippleAlpha = "0.1" // alpha of ripple
app : mrl_rippleDimension = "10dp" // radius of hover and starting ripple
app : mrl_rippleHover = "true" // if true, a hover effect is drawn when view is touched
app : mrl_rippleRoundedCorners = "10dp" // radius of corners of ripples. Note: it uses software rendering pipeline for API 17 and below
app : mrl_rippleInAdapter = "true" // if true, MaterialRippleLayout will optimize for use in AdapterViews
app : mrl_rippleDuration = "350" // duration of ripple animation
app : mrl_rippleFadeDuration = "75" // duration of fade out effect on ripple
app : mrl_rippleDelayClick = "true" // if true, delays calls to OnClickListeners until ripple effect ends
app : mrl_rippleBackground = "#FFFFFF" // background under ripple drawable; used with rippleOverlay="false"
app : mrl_ripplePersistent = "true" // if true, ripple background color persists after animation, until setRadius(0) is called
Establezca un OnClickListener
en MaterialRippleLayout
:
findViewById ( R . id . ripple ). setOnClickListener ( new View . OnClickListener () {
@ Override public void onClick ( View v ) {
// handle me
}
});
O si lo usa en un AdapterView
, simplemente use OnItemClickListener
Para aquellos desarrolladores desafortunados que necesitan admitir versiones anteriores a la 14, hay una manera de hacerlo.
Puede utilizar esta biblioteca además del backport de animación de Jake Wharton (http://nineoldandroids.com/) cambiando las importaciones desde import android.animation.*;
para: import com.nineoldandroids.animation.*;
, import android.util.Property
; para import com.nineoldandroids.util.Property;
y en el archivo MaterialRippleLayout.java, llamar a la función shouldDelayChildPressedState()
solo si está utilizando una API mayor que 14.
Balys Valentukevicius
Copyright 2015 Balys Valentukevicius
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.