3
我一直在写一个简单的应用程序,使用拖动&拖放,除非有一点细节,否则工作正常。当我第一次握住包含拖动动作的ImageView时,DragShadowBuilder会将迷你视图放在错误的地方。最奇怪的部分是后来,它修复了自己,并且操作继续完美。 这是表示行为的图像(我手里拿的联系人应用程序图标,看看那里的缩略图)拖放移位
这是我的代码使用
View v = inflater.inflate(R.layout.recent_entry, null);
ImageView img = (ImageView)v.findViewById(R.id.recent_icon);
img.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View view, MotionEvent me) {
if (me.getAction() == MotionEvent.ACTION_DOWN){
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(null, shadowBuilder, null, 0);
mLaunchIntent = holder.getLaunchIntent();
mSelectedItem = view;
mRecentDetails.setVisibility(View.GONE);
}
return true;
}
});
您能详细解释一下您的答案吗?我不是英语母语的人,并且不理解它。你的意思是我应该将拖放处理程序添加到imageview,而不是它的父级? –
查看更多文档,看起来您必须设置拖动图像的触摸位置。这将找到相对于鼠标位置的拖动图像。看到这个:http://developer.android.com/guide/topics/ui/drag-drop.html – Zagrev