Я пытаюсь прикрепить изображение к детектору жестов со следующим кодом. Я хочу на первом месте с этим кодом, чтобы иметь возможность получать цвет растрового изображения и отображать сообщение, но он ничего не делает. Что мне здесь не хватает? Должен ли я разместить что-то в методе TouchEvent?Невозможно добавить к изображениюНазад детектор жестов в Android
public class MainActivity extends Activity implements
GestureDetector.OnGestureListener,
GestureDetector.OnDoubleTapListener{
private static final String DEBUG_TAG = "Gestures";
private GestureDetectorCompat mDetector;
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.imageView);
mDetector = new GestureDetectorCompat(img.getContext(),this);
mDetector.setOnDoubleTapListener(this);
}
@Override
public boolean onTouchEvent(MotionEvent event){
this.mDetector.onTouchEvent(event);
// Be sure to call the superclass implementation
return super.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent event) {
Log.d(DEBUG_TAG,"onDown: " + event.toString());
return true;
}
@Override
public void onLongPress(MotionEvent event) {
Log.d(DEBUG_TAG, "onLongPress: " + event.toString());
}
@Override
public boolean onSingleTapUp(MotionEvent event) {
int x = (int) e.getX();
int y = (int) e.getY();
Log.d("SingleTapUp",String.valueOf(x+" "+y));
int pixel = bitmap.getPixel(x, y);
if (pixel == Color.parseColor("#94e3f9")) {
Toast.makeText(MainActivity.this, "Blue", Toast.LENGTH_SHORT).show();
}
if (pixel == Color.parseColor("#f0c828")) {
Toast.makeText(MainActivity.this, "Orange", Toast.LENGTH_SHORT).show();
}
if (pixel == Color.parseColor("#b3522c")) {
Toast.makeText(MainActivity.this, "Red", Toast.LENGTH_SHORT).show();
}
return true;
}
@Override
public boolean onDoubleTap(MotionEvent event) {
Log.d(DEBUG_TAG, "onDoubleTap: " + event.toString());
return true;
}
@Override
public boolean onDoubleTapEvent(MotionEvent event) {
Log.d(DEBUG_TAG, "onDoubleTapEvent: " + event.toString());
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent event) {
Log.d(DEBUG_TAG, "onSingleTapConfirmed: " + event.toString());
return true;
}
}