所以我使用longclicklistener并在longclick上我想开始拖动。这非常好用,但是当我想在布局上添加第一个另一个视图然后用添加的视图开始拖动时,有一些特殊情况。
当我这样做时,其他一切工作都很顺利,但是它们不会是可见的。我正在使用自定义阴影制作工具,但它与缩放视图一样正常,我也尝试过普通的阴影制作工具。拖动工作正常,但只是阴影不会出现。我的代码看起来像这样:
View.OnLongClickListener longlistener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
...
LinearLayout another = copy(v); //making copy of view
//doing some changes on it
((LinearLayout) v.getParent()).addView(another); //adding it on parent
//starting drag like normal
ClipData clipdata = ClipData.newPlainText("", "");
View.DragShadowBuilder shadowbuilder = new MyDragShadowBuilder(another);
v.startDrag(clipdata, shadowbuilder, another, 0);
return true;
}
};
我也试过这个
another.startDrag(clipdata, shadowbuilder, another, 0);