我尝试使用具有显示视频的surfaceview的dragndrop列表项。对于dragndrop我使用下面的代码:
{{1}}
问题是,当列表项开始拖动时,我在surfaceview中只看到黑色矩形而不是最后一个视频帧。
答案 0 :(得分:0)
好的,经过长时间的研究,我发现了我的问题。首先,我删除了SurfaceView并使用TextureView代替它。接下来当用户开始拖动时,对我来说这是长按一下,下一个代码就可以了
ClipData data = ClipData.newPlainText("", "");
Bitmap b = mTextureView.getBitmap();
mDragImageView.setImageBitmap(b);
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(mMainLayout);
mMainLayout.startDrag(data, shadowBuilder, mMainLayout, 0);
mDragImageView.setVisibility(View.GONE);
b.recycle();
我使用getBitmap从TextureView拍摄照片并在ImageView中设置它,它是TextureView的前面并设置ImageView可见。之后,我开始拖动主要布局。拖动控制器使用ImageView获取我设置的最后一帧的屏幕截图。之后我隐藏了ImageView并回收了位图。