Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 拖放;浏览画廊_Android_Drag And Drop_Imageview - Fatal编程技术网

Android 拖放;浏览画廊

Android 拖放;浏览画廊,android,drag-and-drop,imageview,Android,Drag And Drop,Imageview,我正在尝试通过触摸事件从ImageView中的图库中实现简单的拖放。问题是,现在我无法在图库中滑动以选择图像,因为该事件被解释为触摸事件。而我的触摸事件只是拖放实现! 下面是实现onTouch()的代码: 现在,每次我尝试在画廊中滑动时,我的onTouch事件都会被触发! 你们能给我指一些可以帮助我的资源吗,或者只是给我一个关于尝试什么的想法?。很少有关于拖放的res,几乎所有的res都使用在蜂巢中实现的特性。我只能使用android 2.2之前可用的api public boolean onT

我正在尝试通过触摸事件从ImageView中的图库中实现简单的拖放。问题是,现在我无法在图库中滑动以选择图像,因为该事件被解释为触摸事件。而我的触摸事件只是拖放实现! 下面是实现onTouch()的代码:

现在,每次我尝试在画廊中滑动时,我的onTouch事件都会被触发! 你们能给我指一些可以帮助我的资源吗,或者只是给我一个关于尝试什么的想法?。很少有关于拖放的res,几乎所有的res都使用在蜂巢中实现的特性。我只能使用android 2.2之前可用的api

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;
}