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

1 に答える 1

0

純粋に推測ですが、ドラッグソースの場所を使用するべきではなく、ドラッグコンテンツを含むビューを使用するべきではありませんか?

于 2012-10-12T02:45:03.140 に答える