Dans mon application, je montre \ hide sys-ui comme la barre de navigation \ status. je le fais en consommant l'événement « onSingleTapConfirmed » et a réussi à basculer betwwen cacher \ montrent ces ui-sys:onSingleTapConfirmed invoqué aussi pour cliquer sur le bouton de la barre d'action à 3 points, qui cause beaucoup de problèmes
@Override
public boolean onSingleTapConfirmed(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (sysBarsAreVisible) {
hideSystemUI();
} else {
showSystemUI();
}
break;
}
return true;
}
Cela fonctionne très bien. les barres de navigation et d'état s'affichent et se cachent comme prévu. le problème est que lorsque j'essaie d'appuyer sur le bouton 3dot (...) dans la barre d'action, l'événement tapotement unique invoque et masque la barre d'action et le menu flottant qui s'affiche et est parti juste après.
aucune idée comment puis-je le résoudre? comment reconnaître que le bouton 3 points est enfoncé et passer l'opération tout afficher \ masquer.
Merci
Je l'ai essayé, et ACTION_DOWN fonctionne beaucoup plus facilement si vous voulez basculer l'état + les barres de navigation. l'interaction alors que ACTION_UP semble être très difficile à réaliser par rapport à ACTION_DOWN. – Yehudaz
Eh bien, c'est parce que votre vue n'a pas d'autres événements (probablement) dans ce cas, vous verriez l'animation SwapingBars mais n'auriez pas les onClickActions. J'espère que tu as compris –