flingAndroid アプリケーションでジェスチャ検出を機能させたいと考えています。
私が持っているのは、GridLayout9 ImageViews を含む です。ソースはRomain Guys の Grid Layoutにあります。
私が取ったそのファイルは、Romain Guy のPhotostream アプリケーションからのもので、わずかに変更されています。
onClickListener単純なクリックの状況では、追加するfor eachを実装ImageViewするメインに設定するだけです。を認識するものを実装するのは、はるかに複雑に思えます。これは、スパンする可能性があるためだと思いますか?activityView.OnClickListenerflingviews
アクティビティが実装されている場合、 追加するビューまたはビュー
OnGestureListenerのジェスチャ リスナーとしてそれを設定する方法がわかりません。GridImagepublic class SelectFilterActivity extends Activity implements View.OnClickListener, OnGestureListener { ...私のアクティビティが実装されている場合、 方法
OnTouchListenerはありません (パラメーターとして 2 つのイベントがあり、フリングが注目に値するかどうかを判断できます)。onFlingoverridepublic class SelectFilterActivity extends Activity implements View.OnClickListener, OnTouchListener { ...カスタムを作成すると、その
ViewようGestureImageViewに拡張され、ビューから a が発生した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;
}
}
});
フリングをキャプチャするために、画面の上部に透明なビューを配置することはできますか?
inflateXML から子イメージ ビューを取得しないことを選択した場合GestureDetector、コンストラクター パラメーターとして、作成した新しいサブクラスに渡すことができImageViewますか?
flingこれは、検出を機能させようとしている非常に単純なアクティビティです: SelectFilterActivity (Adapted from photostream)。
私はこれらの情報源を見てきました:
これまでのところ何もうまくいかず、いくつかの指針を期待していました.
2 つのインポートがあり、両方が異なることを選択する際には注意してください
