Android 为DragShadowBuilder的视图设置动画或更新视图
我已经为listview项实现了拖放。将在Android 为DragShadowBuilder的视图设置动画或更新视图,android,drag-and-drop,Android,Drag And Drop,我已经为listview项实现了拖放。将在LongPress上拖动。初始DragShadowBuilder以指定的高度和宽度绘制位图。但我想减小阴影大小或在动画到达目标时应用淡入淡出。我怎样才能做到这一点?如何触发阴影消失事件 长时间单击listview时的代码: @Override public boolean onItemLongClick(AdapterView<?> l, View v, int position, long id) {
LongPress
上拖动。初始DragShadowBuilder以指定的高度和宽度绘制位图。但我想减小阴影大小或在动画到达目标时应用淡入淡出。我怎样才能做到这一点?如何触发阴影消失事件
长时间单击listview时的代码:
@Override
public boolean onItemLongClick(AdapterView<?> l, View v,
int position, long id) {
//Selected item is passed as item in dragData
ClipData.Item item = new ClipData.Item(month.get(position));
dragView = v;
dragView.setDrawingCacheEnabled(true);
Bitmap bmp=getBitmapFromView(v);
String[] clipDescription = {ClipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData = new ClipData((CharSequence)v.getTag(),
clipDescription,
item);
DragShadowBuilder myShadow = new MyDragShadowBuilder(v,month.get(position),bmp,0);
v.startDrag(dragData, //ClipData
myShadow, //View.DragShadowBuilder
month.get(position), //Object myLocalState
0); //flags
commentMsg = v.getTag() + " : onLongClick.\n";
comments.setText(commentMsg);
dragView.setVisibility(View.INVISIBLE);
return true;
}};
@覆盖
长按(自适应视图l、视图v、,
内部位置,长id){
//所选项目在dragData中作为项目传递
ClipData.Item Item=new ClipData.Item(month.get(position));
dragView=v;
dragView.setDrawingCacheEnabled(真);
位图bmp=getBitmapFromView(v);
字符串[]clipDescription={clipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData=new ClipData((CharSequence)v.getTag(),
clipDescription,
项目);
DragShadowBuilder myShadow=新的MyDragShadowBuilder(v,month.get(position),bmp,0);
v、 startDrag(dragData,//ClipData
myShadow,//View.DragShadowBuilder
month.get(position),//对象myLocalState
0);//标志
commentMsg=v.getTag()+“:仅长按。\n”;
comments.setText(commentMsg);
dragView.setVisibility(View.INVISIBLE);
返回true;
}};
我正在创建新的
DragShadowBuilder
操作删除事件。它会转到我的函数,但不会更新当前的shadowBuilder。现在解决了。我们无法更新DragShadow的视图。所以我只需在触发ACTION\u DROP
的位置绘制图像,并将动画应用于该图像视图