Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为DragShadowBuilder的视图设置动画或更新视图_Android_Drag And Drop - Fatal编程技术网

Android 为DragShadowBuilder的视图设置动画或更新视图

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) {

我已经为listview项实现了拖放。将在
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
的位置绘制图像,并将动画应用于该图像视图