我在我的应用程序中有一个菜单图标。当我将某物拖放到它上面时,它会显示一个弹出窗口。我需要将我的拖放扩展到这个 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;
}
});
以下视频展示了我想要实现的内容。 但是弹出视图没有响应任何拖动事件。我也尝试使用
DialogFragment
,但也没有帮助。非常感谢您的帮助。
DragEvent.ACTION_DRAG_ENDED
事件时,请执行contentView.dispatchDragEvent(dragEvent);
。 - azizbekian