我的应用程序中有一个菜单图标。当我拖放一些东西时,它会显示一个弹出窗口。我需要将拖放扩展到此PopupWindow
。
我这样做如下。
如图所示创建了一个PopupWindow
View popupView = View.inflate(anchorView.getContext(), R.layout.layout_popup, null);
PopupWindow popUpWindow = new PopupWindow(popupView, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT);
如图所示设置dragListener
popupView.setOnDragListener(new OnDragListener() {
@Override
public boolean onDrag(View view, DragEvent dragEvent) {
switch (dragEvent.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
Log.d("Drag", "ACTION_DRAG_STARTED");
break;
case DragEvent.ACTION_DRAG_ENDED:
Log.d("Drag", "ACTION_DRAG_ENDED");
break;
case DragEvent.ACTION_DRAG_ENTERED:
Log.d("Drag", "ACTION_DRAG_ENTERED");
break;
case DragEvent.ACTION_DRAG_EXITED:
Log.d("Drag", "ACTION_DRAG_EXITED");
break;
case DragEvent.ACTION_DROP:
Log.d("Drag", "ACTION_DROP");
break;
default:
break;
}
return true;
}
});
下面的视频展示了我想要实现的目标。
但是popupView没有响应任何拖动事件。我也尝试使用DialogFragment
,但它也没有帮助。
任何帮助表示赞赏。
提前致谢。