Tout problème ou demande de tirage ne sera pas résolu. Veuillez envisager de créer votre propre version si des modifications sont nécessaires.
Wrapper d’effet d’entraînement pour les vues Android
compile ' com.balysv:material-ripple:1.0.2 '
Vérifiez le dernier numéro de version sur le widget ci-dessous ou visitez les versions
Utilisez l'initialiseur statique sur votre View
(voir les attributs xml
ci-dessous pour la personnalisation)
MaterialRippleLayout . on ( view )
. rippleColor ( Color . BLACK )
. create ();
Ou enveloppez votre View
avec MaterialRippleLayout
dans votre fichier de mise en page :
< 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 vous utilisez dans un AdapterView
vous devez définir rippleInAdapter
sur true
Configurez à l'aide d'attributs XML ou de setters dans le code :
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
Définissez un OnClickListener
sur MaterialRippleLayout
:
findViewById ( R . id . ripple ). setOnClickListener ( new View . OnClickListener () {
@ Override public void onClick ( View v ) {
// handle me
}
});
Ou si vous utilisez dans un AdapterView
, utilisez simplement OnItemClickListener
Pour les développeurs malchanceux qui doivent prendre en charge des versions antérieures à la 14, il existe un moyen de le faire.
Vous pouvez utiliser cette bibliothèque en plus avec le rétroport d'animation de Jake Wharton (http://nineoldandroids.com/) en modifiant les importations depuis import android.animation.*;
pour : import com.nineoldandroids.animation.*;
, import android.util.Property
; pour import com.nineoldandroids.util.Property;
et dans le fichier MaterialRippleLayout.java, appeler la fonction shouldDelayChildPressedState()
uniquement si vous utilisez une API supérieure à 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.