Saya ingin mendapatkan flingdeteksi gerakan yang berfungsi di aplikasi Android saya.
Yang saya miliki adalah GridLayoutyang berisi 9 ImageViews. Sumbernya dapat ditemukan di sini: Layout Grid Romain Guys .
File yang saya ambil adalah dari aplikasi Photostream Romain Guy dan hanya sedikit diadaptasi.
Untuk situasi klik sederhana, saya hanya perlu mengatur onClickListeneragar setiap yang ImageViewsaya tambahkan menjadi alat utama activityyang diterapkan View.OnClickListener. Tampaknya jauh lebih rumit untuk mengimplementasikan sesuatu yang mengenali a fling. Saya kira ini karena mungkin span views?
Jika aktivitas saya menerapkan,
OnGestureListenersaya tidak tahu cara mengaturnya sebagai pendengar gerakan untukGridatauImagepandangan yang saya tambahkan.public class SelectFilterActivity extends Activity implements View.OnClickListener, OnGestureListener { ...Jika aktivitas saya diimplementasikan
OnTouchListenermaka saya tidak memilikionFlingmetode untukoverride(memiliki dua peristiwa sebagai parameter yang memungkinkan saya untuk menentukan apakah melemparkan itu penting).public class SelectFilterActivity extends Activity implements View.OnClickListener, OnTouchListener { ...Jika saya membuat kebiasaan
View, sepertiGestureImageViewitu meluasImageViewsaya tidak tahu bagaimana cara mengetahui aktivitas yangflingtelah terjadi dari tampilan. Bagaimanapun, saya mencoba ini dan metode tidak dipanggil ketika saya menyentuh layar.
Saya benar-benar hanya perlu contoh nyata dari ini bekerja lintas pandangan. Apa, kapan dan bagaimana saya harus melampirkan ini listener? Saya harus dapat mendeteksi satu klik juga.
// Gesture detection
mGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
int dx = (int) (e2.getX() - e1.getX());
// don't accept the fling if it's too short
// as it may conflict with a button push
if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.absvelocityY)) {
if (velocityX > 0) {
moveRight();
} else {
moveLeft();
}
return true;
} else {
return false;
}
}
});
Apakah mungkin untuk meletakkan tampilan transparan di atas layar saya untuk menangkap teman kencan?
Jika saya memilih untuk tidak inflatemelihat gambar anak saya dari XML, bisakah saya meneruskan GestureDetectorsebagai parameter konstruktor ke subkelas baru ImageViewyang saya buat?
Ini adalah aktivitas yang sangat sederhana yang saya coba agar flingpendeteksiannya bekerja: SelectFilterActivity (Diadaptasi dari photostream) .
Saya telah melihat sumber-sumber ini:
Sejauh ini belum ada yang berhasil dan saya berharap ada beberapa petunjuk.
Ada 2 impor hati-hati dalam memilih bahwa keduanya berbeda
