Objectif
Indiquez clairement où vous appuyez lorsque vous appuyez sur un bouton ou quelque chose.
Méthode
Pour être honnête, il y a plusieurs choses.
Proposition 1. Définissez le comportement lorsque vous appuyez sur XML.
https://qiita.com/ujikawa1026/items/a79d418b70d88d1d69ba
Proposition 2. Utilisez une API appelée "ondulation matérielle".
Un autre site: https://github.com/balysv/material-ripple
Hypothèses
Je conçois des couleurs, des polices et des tailles avec logique.
XML (proposition 1) n'est pas fixe, mais je souhaite le définir librement (proposition 2).
Au contraire, il est meilleur que XML car il a ses propres paramètres tels que la couleur d'arrière-plan, la couleur, la police et la taille.
Difficultés
yourCustomView.java
//Difficultés 1. Solution
@Override
public void setVisibility(int visibility){
//Cette vue est désactivée lorsque vous appuyez sur ([invisibility]or[GONE])
//Néanmoins, cela l'empêche de se fixer.
super.setVisibility(visibility);
if(getParent() instanceof MaterialRippleLayout){
((MaterialRippleLayout) getParent()).setVisibility(visibility);
}
}
//Difficulté 2. Solution
@Override
protected void onVisibilityChanged(@NonNull View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
switch (visibility){
//Changer dynamiquement lorsque la vue est visible
case VISIBLE:MaterialRippleLayout.on(changedView)
.rippleColor(Color.GREEN)
.rippleAlpha(0.5f)
.rippleOverlay(true)
.rippleHover(true)
.rippleDuration(100)
.create();
break;
//ne fais rien.
case INVISIBLE:
break;
}
}
Merci de votre collaboration.