Перетащите на галерею - PullRequest
1 голос
/ 26 декабря 2011

Я пытаюсь реализовать простое перетаскивание из галереи в ImageView с помощью сенсорного события. Теперь проблема в том, что я не могу скользить по галерее, чтобы выбрать изображение, потому что это событие интерпретируется как сенсорное событие. Событие touCh - это просто реализация drag & drop! Вот код, который реализует onTouch ():

public boolean onTouch(View arg0, MotionEvent arg1) {
    switch(arg1.getActionMasked()){
    case MotionEvent.ACTION_DOWN: if(arg0 instanceof Gallery){
        ImageView tmp = (ImageView) gallery.getSelectedView();
        _im = new ImageView(this);
        _im.setLayoutParams(tmp.getLayoutParams());
        _im.setImageDrawable(tmp.getDrawable());
        mLayout.addView(_im);
        return true;
    }break;
    case MotionEvent.ACTION_MOVE:if(_im != null){
        int x = (int)arg1.getX();
        int y = (int)arg1.getY();
        setAbsoluteLocationCentered(_im, x, y);
        return true;
    } break;
    case MotionEvent.ACTION_UP:if (arg0 instanceof ImageView){
        _im.setVisibility(View.INVISIBLE);
        _im.setImageDrawable(null);
        mLayout.removeView(_im);
        //this.setContentView(R.layout.main);
        _im = null;
        System.gc();
        return true;
    } break;
    default: return false;
    }
    return false;
}

Теперь каждый раз, когда я пытаюсь проскользнуть через галерею, запускается мое событие onTouch! Ребята, можете ли вы указать мне на некоторые ресурсы, которые могут мне помочь, или просто дать представление о том, что попробовать? Там очень мало вопросов о перетаскивании и почти все они используют функции, реализованные в Honeycomb. Я могу использовать только API доступны до Android 2.2.

...