Fling Gesture et Webview dans Android
J'ai une webview contrôle qui doit soutenir le fling geste pour Android afin de mettre un nouveau record (charger de nouvelles données). Ce se présente dans une classe qui étend la classe de l'Activité. Tous les exemples que j'ai vus montrent comment mettre en œuvre geste de soutien pour un textview, mais rien pour les webview.
J'ai besoin pour exécuter différentes actions pour la gauche et la droite flings. Le code de l'aide serait appréciée comme cela a totalement a moi perplexe.
Voici ma base de onCreate et ma classe
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.SQLException;
import android.os.Bundle;
import android.text.Html;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.webkit.WebView;
public class ArticleActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window w = getWindow();
w.requestFeature(Window.FEATURE_LEFT_ICON);
WebView webview = new WebView(this);
setContentView(webview);
w.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
R.drawable.gq);
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
populateFields();
webview.loadData(question + answer, "text/html", "utf-8");
//
}
private void populateFields() {
....
}
}
source d'informationauteur Rob Bushway
Vous devez vous connecter pour publier un commentaire.
Créer un GestureListener et un GestureDetector. Appelez le GestureDetector.onTouchEvent en remplaçant la webview est onTouchEvent.
Vous pouvez aussi remplacer l'Activité onTouchEvent btw. Je peux poster un peu de code si vous en avez besoin.
Edit: le Code comme demandé.
@littleFluffyKitty. Je suppose par défaut WebView toucher les événements que vous voulez dire quand il apporte les commandes du zoom, etc? Je n'ai pas fait de test. J'ai trouvé que la mise en œuvre de celles propres détection de mouvement fonctionne le mieux (je ne sais pas si ça marcherait mieux sur une WebView). Vous avez besoin de regarder un événement tactile comme trois éléments distincts. La presse vers le bas, le mouvement (le cas échéant), et le communiqué de presse, que la presse vers le bas, déplacer, la libération de toujours arriver.
Si tu fais un return false sur la onDown l'action doit se passer jusqu'à la WebView touch gestionnaire d'événements, mais autant que je me souvienne, il arrête les événements subséquents passés à l'GestureDetector. Qui est la moitié de la raison pour laquelle je mets en œuvre mon propre qui est basé sur Android source. autant que je me souvienne j'ai eu l'idée de le Sony Ericsson Tutoriels qui est téléchargeable hors du marché. C'est de la 3D liste qui montre le code et son assez facile de s'adapter.
J'ai mis à jour le code, il sera désormais possible d'appeler natif des gestionnaires d'événements si l'utilisateur n'a pas flinged
@Han, pardonne @techiServices son injustifiées pour la réponse.
Le problème avec le code ci-dessus est que, dans tous les cas, il renvoie la valeur true pour onFling et onDown. Ce que vous voulez, au contraire, est à retourner false pour les événements que vous ne le manipulez pas, ou pour les conditions au cours de ces événements que vous n'avez pas à traiter. Ou en effet, dans onTouchEvent vous pouvez passer l'appel à la classe de base en retour