Android 安卓:如何移动弹出窗口并使此窗口不阻塞其他窗口

Android 安卓:如何移动弹出窗口并使此窗口不阻塞其他窗口,android,popup,window,block,drag,Android,Popup,Window,Block,Drag,我是android新手。这是我的问题。 android中是否有可以移动的弹出窗口?如何实现一个弹出窗口或其他对话框,可以麻醉。这个弹出窗口能不能阻止其他窗口?当它弹出时,我仍然可以使用主窗口中的其他功能 提前感谢您为此使用PopupWindow类请参阅以下链接: 这是我工作中的示例代码,我做了一些评论来说明它是如何工作的 LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER

我是android新手。这是我的问题。 android中是否有可以移动的弹出窗口?如何实现一个弹出窗口或其他对话框,可以麻醉。这个弹出窗口能不能阻止其他窗口?当它弹出时,我仍然可以使用主窗口中的其他功能


提前感谢您

为此使用PopupWindow类请参阅以下链接:

这是我工作中的示例代码,我做了一些评论来说明它是如何工作的

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              // your custom view
            View popView = inflater.inflate(R.layout.pop_view, null);
             // initialise your pop window  
             // take custom view , with specific width , height
           PopupWindow popupWindow = new PopupWindow(popView, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, true);
            ImageView imageview = (ImageView) popView.findViewById(R.id.imageview);
            Button dismiss = (Button) popView.findViewById(R.id.disbutton);
            imageview.setImageURI(imagePath);

    // button used to open pop window 
            popupWindow.showAsDropDown(ChooseFile, 50, -30);

          // here is the part related to move popwindow    
            popView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent event) {

                    int orgX = 0, orgY = 0;
                    int offsetX, offsetY;


                    switch (event.getAction()) {

                        case MotionEvent.ACTION_DOWN:

                            orgX = (int) event.getRawX();
                            orgY = (int) event.getRawY();
                            break;

                        case MotionEvent.ACTION_MOVE:
                            offsetX = (int) event.getRawX() - orgX;
                            offsetY = (int) event.getRawY() - orgY;
                           // update popwindow postion , -1 set for width & height to make it fixed not changed 
                            popupWindow.update(offsetX, offsetY, -1, -1);
                            break;

                    }

                    return true;
                }
            });

            dismiss.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                  // if you want dismiss your pop window 
                    popupWindow.dismiss();
                }
            });


        }

我已经检查了这个链接,但是那个弹出窗口不能打开。可以用手指移动吗?我们可以通过指定x,y位置来用代码改变popupwindow的位置谢谢,我刚刚发现我们可以定义onTouch来改变位置