 <p>Kurty is correct in that you shouldn't need to subclass <code>DragShadowBuilder</code> in this case. My thought is that the view you're passing to the <code>DragShadowBuilder</code> doesn't actually exist in the layout, and therefore it doesn't render.</p> <p>Rather than passing <code>null</code> as the second argument to <code>inflater.inflate</code>, try actually adding the inflated <code>View</code> to the hierarchy somewhere, and then passing it to a regular <code>DragShadowBuilder</code>:</p> <pre><code>View dragView = findViewById(R.id.dragged_item); mDragShadowBuilder = new DragShadowBuilder(dragView); v.startDrag(null, mDragShadowBuilder, null, 0); </code></pre> <p><strong>EDIT</strong></p> <p>I'm aware that having the <code>dragged_item</code> view being rendered all the time isn't what you want, but if it works then at least we know where the problem is and can look for a solution to that instead!</p>