Je souhaite de tout désactiver l'écran tactile interactions, alors qu'une animation est en cours d'affichage.
Je ne souhaite pas utiliser le setClickable()
méthode sur les boutons au début ou à la fin de l'animation parce qu'il y a un grand nombre de boutons. Des suggestions?
OriginalL'auteur gursahib.singh.sahni | 2012-06-11
Dans votre Activité, vous pouvez remplacer
onTouchEvent
et toujoursreturn true;
pour indiquer que vous êtes la manipulation de la touche événements.Vous pouvez trouver la documentation de cette fonction il y.
Modifier Ici est une façon, vous pouvez désactiver le tactile sur l'ensemble de l'écran au lieu de traiter tous les afficher un par un... d'Abord modifier votre mise en page comme ceci:
Et ensuite définir votre vue personnalisée avec quelque chose comme ceci:
Puis, dans l'activité, vous pouvez désactiver le contact avec
Et de lui permettre de revenir avec
View view = findViewById(R.id.whole_view); view.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return true; } });
j'ai écrit sur ce début de mon animation mais il ne fonctionne pas veuillez me dire où me trompeici whole_view est l'id de ma page principale
Ce type de vue est-il et de quoi êtes-vous essayer de désactiver ? Est-il un bouton ? une ScrollView ? ... ?
j'ai des boutons partout sur ma mise en page. je tiens à les désactiver
Ce type de Mise en page avez-vous ? Vous pourriez peut-être utiliser un FrameLayout et de superposer une Vue de dessus où vous pouvez activer / désactiver la touche vers le bas... laissez-moi écrire le pseudo-code dans la réponse...
OriginalL'auteur Matthieu
réponse à cette question
for (int i = 1; i < layout.getChildCount(); i++) {
TableRow row = (TableRow) layout.getChildAt(i);
row.setClickable(false);
sélectionné toutes les lignes de la table qui avait tous les points de vue et des handicapés eux
OriginalL'auteur gursahib.singh.sahni
Finalement, j'ai pris comme base la réponse de @Matthieu et de le faire fonctionner d'une telle façon. Je décide de publier ma réponse, car il me prendre peut-être 30 min à comprendre pourquoi je suis d'erreur.
XML
Classe
public class TouchBlackHoleView s'étend Vue {
private boolean touchDisable = false;
À l'aide de
Profiter de
OriginalL'auteur Aleksey Timoshchenko
Moyen facile à mettre en œuvre qui est d'ajouter transaperent mise en page (l'ajouter dans votre xml remplir parent de hauteur et de largeur).
Dans l'animation de démarrage:
transaparentlayout.setClickable(true);
Dans l'animation de fin:
transaparentlayout.setClickable(false);
OriginalL'auteur SHASHIDHAR MANCHUKONDA