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.

  • Comment obtenir la liste de tous les raccourcis installés dans le lanceur d'écran d'accueil dans Android
  • SetOnItemClickListener sur ListView personnalisé
  • Meilleure pratique pour le client Android de communiquer avec un serveur utilisant des threads
  • CoordinatorLayout avec RecyclerView et EditText de taille inférieure
  • Quelqu'un peut-il me fournir un exemple de Two_line_list_item dans Android?
  • MediaStore.Images.Media.insertImage renvoie null lors de l'enregistrement de l'image
  • 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 ?

  • Proxy SSL / Charles et problème Android
  • Le nouveau dossier "valeurs" créé n'est pas visible dans Android Studio
  • Gradle Android Plugin - ajouter un attribut de saveur personnalisé?
  • Cordova Error sur Build Only pour Android: com.android.dex.DexException: plusieurs fichiers dex définissent Landroid / support / annotation / AnimRes;
  • Erreur de test Espresso: AppNotIdleException
  • Android Proguard java.io.IOException: Impossible de lire [proguard.ClassPathEntry
  • 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.