Appliquer Touch Swipe sur une seule page, la page utilisée pour le chargement dynamique des données?

J'ai utilisé une seule page sur laquelle les données sont chargées encore et encore.

Une même page est utilisée pour le chargement des données; C'est-à-dire titre, photo et description. Pouvez-vous m'aider afin que je puisse appliquer une fonction de balayage? Je construis une application comme Pulse News, la visualise sur la fonction de glissement. Je l'ai construit dans phonegap, HTML5, CSS3 et JavaScript et aussi jQuery mobile.

  • Appel non contrôlé à ArrayAdapter
  • Comment définir un écouteur de clic long sur un MenuItem (sur un NavigationView)?
  • Comment puis-je supprimer la barre de titre dans Android Studio?
  • Comment obtenir l'emplacement actuel de mon appareil
  • Comment effacer par programme les données d'application
  • Android - Set Layout_Gravity programmatically for LinearLayout
  • Je sais comment faire glisser les pages, où sont plus d'une page, mais il n'y a qu'une seule page sur laquelle les données sont chargées dynamiquement et seul le contenu est modifié, alors comment ajouter un coup de glace à celui-ci afin qu'il fonctionne sur iPhone et Android ?

  • Mettre des autorisations pour se manifester sur Android .aar projet de bibliothèque
  • Android - utilisant runOnUiThread pour que l'interface utilisateur change d'un thread
  • Android studio getSlotFromBufferLocked: erreur de mémoire tampon inconnue
  • Gradle cherche aar dans le dossier lib de projet erroné
  • Afficher le mode après l'installation ou la mise à jour de l'application
  • Dessiner une disposition carrée dans un cercle
  • 7 Solutions collect form web for “Appliquer Touch Swipe sur une seule page, la page utilisée pour le chargement dynamique des données?”

    Peu importe le nombre de pages que vous avez dans votre application. Vous devez détecter l'action SWIPE dans votre activité et recharger les données au lieu de passer vraiment les pages. Pour ce faire: dans votre écouteur d'événement tactile, détecter:

    ACTION_MOVE

    comme ça:

    If (event.getAction ()! = MotionEvent.ACTION_MOVE)

    Vérifiez même la distance pour vous assurer qu'un SWIPE est arrivé:

    switch(event.getAction()) { case MotionEvent.ACTION_DOWN: if(isDown == false) { startX = event.getX(); startY = event.getY(); isDown = true; } Break; case MotionEvent.ACTION_UP { endX = event.getX(); endY = event.getY(); break; } } 

    Calculez la distance, puisqu'il ressemble à plus d'un clic … considérez-le comme un coup de fouet et rechargez vos données bonne chance

    Regardez Hammer.js ( http://eightmedia.github.io/hammer.js/ ) peut-être cela vous facilitera-t-il!

     Hammer(el).on("swipeleft", function() { //code to run when user uses swipes left }); 

    Je pense que vous voudrez peut-être envisager d'utiliser une mise en page multi-page ou un panneau et de passer entre eux en utilisant le geste de balayage.

    http://view.jquerymobile.com/1.3.0/docs/widgets/pages/#Multi-pagetemplatestructure

    Cochez le code pour la boîte de dialogue slide jQueryMobile ici – http://view.jquerymobile.com/1.3.0/docs/widgets/transitions/

    À partir de la documentation jQuery Mobile 1.3.0 pour $.mobile.changePage

    Options (objet, optionnel) Propriétés:

    allowSamePageTransition(boolean, default: false)

    Par défaut, changePage () ignore les demandes de modification de la page active en cours. Définir cette option sur true, permet d'exécuter la requête. Les développeurs doivent noter que certaines des transitions de page supposent que les pages fromPage et toPage d'une demande ChangePage sont différentes, de sorte qu'elles peuvent ne pas animer comme prévu. Les développeurs sont responsables soit d'une transition appropriée, soit de l'éteindre pour ce cas particulier.

    Il semble qu'il y ait peut-être des problèmes avec cette version de jQuery.Mobile que vous utilisez.

    Lancez d'abord votre activité implémente OnTouchListener puis renvoyez le détecteur de geste, c'est-à-dire comme suit

     public boolean onTouch(final View view, final MotionEvent motionEvent) { // TODO Auto-generated method stub return gestureDetector.onTouchEvent(motionEvent); } 

    alors maintenant

     urpage.setOnTouchListener(this); 

    Dans la méthode onCreate

    Prochain

    Créez une classe appelée GestureListener en ce sens

     private final class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_THRESHOLD = 100; private static final int SWIPE_VELOCITY_THRESHOLD = 100; @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { boolean result = false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { //dynamic load the page which you want when the user swipes left side } else { //dynamic load the page which you want when the user swipes right side } } } } catch (Exception exception) { exception.printStackTrace(); } return result; } 

    AngularJS 1.2 possède également des fonctions de balayage intégrées. Peut être utile de vérifier.

    Vous pouvez modifier ce code selon vos besoins.

      $("#pageID-1").on("swiperight", function() { $.mobile.changePage("#pageID-2", {transition: "slide",reverse: false}); getDateienData(); // load data dynamically on page '#pageID-2' when swipe page '#pageID-1'. }); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.