私は、ドラッグ アンド ドロップを使用して簡単なアプリを作成してきました。ドラッグ アクションを含む 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;
}
});