flingAndroidアプリケーションでジェスチャー検出を機能させたいのですが。
私が持ってGridLayoutいるのは9 ImageView秒を含むです。ソースはここにあります:Romain Guysのグリッドレイアウト。
私が取ったそのファイルは、Romain GuyのPhotostreamアプリケーションからのものであり、ほんの少し変更されています。
単純なクリックの状況では、追加するonClickListenerfor をを実装ImageViewするメインに設定するだけです。を認識するものを実装することは、無限に複雑になります。これはスパンする可能性があるためだと思いますか?activityView.OnClickListenerflingviews
私のアクティビティが実装されている場合、
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(フォトストリームから適応)です。
私はこれらの情報源を見てきました:
今のところ何もうまくいかず、いくつかの指針を期待していました。
2つの輸入品があり、両方が異なるものを選択する場合は注意が必要です。
