fling
Androidアプリケーションでジェスチャー検出を機能させたいのですが。
私が持ってGridLayout
いるのは9 ImageView
秒を含むです。ソースはここにあります:Romain Guysのグリッドレイアウト。
私が取ったそのファイルは、Romain GuyのPhotostreamアプリケーションからのものであり、ほんの少し変更されています。
単純なクリックの状況では、追加するonClickListener
for をを実装ImageView
するメインに設定するだけです。を認識するものを実装することは、無限に複雑になります。これはスパンする可能性があるためだと思いますか?activity
View.OnClickListener
fling
views
私のアクティビティが実装されている場合、
OnGestureListener
それをのジェスチャーリスナーGrid
またはImage
追加したビューとして設定する方法がわかりません。public class SelectFilterActivity extends Activity implements View.OnClickListener, OnGestureListener { ...
私の活動が実装する場合、私
OnTouchListener
にはonFling
方法がありませんoverride
(これには、フリングが注目に値するかどうかを判断できるパラメーターとして2つのイベントがあります)。public class SelectFilterActivity extends Activity implements View.OnClickListener, OnTouchListener { ...
私がカスタムを作成する場合
View
、GestureImageView
そのように拡張して、ビューから発生したImageView
アクティビティをアクティビティに通知する方法がわかりませんfling
。いずれにせよ、私はこれを試してみましたが、画面に触れたときにメソッドが呼び出されませんでした。
私は本当にこれがビュー全体で機能する具体的な例が必要です。何を、いつ、どのように添付すればよいlistener
ですか?シングルクリックも検出できる必要があります。
// 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;
}
}
});
画面の上部に透明なビューを配置して、フリングをキャプチャすることは可能ですか?
inflate
子イメージビューをXMLから選択しない場合GestureDetector
、作成した新しいサブクラスにコンストラクタパラメータとしてを渡すことができImageView
ますか?
これは、fling
検出を機能させるための非常に単純なアクティビティであるSelectFilterActivity(フォトストリームから適応)です。
私はこれらの情報源を見てきました:
今のところ何もうまくいかず、いくつかの指針を期待していました。