【发布时间】:2017-05-03 10:16:38
【问题描述】:
我的应用程序中有一个菜单图标。当我在上面拖放一些东西时,它会显示一个弹出窗口。我需要将我的拖放扩展到这个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,但也没有用。
任何帮助表示赞赏。
提前致谢。
【问题讨论】:
标签: android drag-and-drop android-popupwindow