如何在android中创建此类菜单并调用悬停操作?

如何在android中创建此类菜单并调用悬停操作?,android,popupmenu,mousehover,Android,Popupmenu,Mousehover,我想创建这样的自定义菜单。有人能帮我吗 这是我的java端实现。ivPricePopupMenu是ImageView对象,productlist_popup_菜单是我想在onMouseHover操作上显示的布局。提出一些解决方案 ivPricePopupMenu.setOnHoverListener(new View.OnHoverListener() { @Override public boolean onHover(View v, Motio


我想创建这样的自定义菜单。有人能帮我吗

这是我的java端实现。ivPricePopupMenu是ImageView对象,productlist_popup_菜单是我想在onMouseHover操作上显示的布局。提出一些解决方案

ivPricePopupMenu.setOnHoverListener(new View.OnHoverListener() {
            @Override
            public boolean onHover(View v, MotionEvent event) {
                Log.d("hover", "Bring yor cursor over the button");
                if(event.getAction()==MotionEvent.ACTION_HOVER_ENTER)
                {
                    //instantiate the popup.xml layout file
                    LayoutInflater layoutInflater = (LayoutInflater) ProductListActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    View customView = layoutInflater.inflate(R.layout.productlist_popup_menu,null);

                    //instantiate popup window
                   PopupWindow popupWindow = new PopupWindow(customView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

                    //display the popup window
                    popupWindow.showAtLocation(linearLayout, Gravity.CENTER,0, 0);
                }
                return false;
            }
        });

悬停菜单或工具提示类视图可以使用
PopupWindow
小部件实现

弹出窗口(上下文)

为PopupWindow创建所需的XML布局文件。使用
LayoutInflater
为布局充气,并设置所需数据

根据锚定视图在屏幕上的位置(即问题图像中的信息按钮视图)计算x和y坐标,以定位弹出窗口

使用
showAtLocation
方法显示弹出窗口

popUpWindow.showAtLocation(anchorView, gravity, x, y)

重力可以设置为重力。通过正确计算x和y坐标,没有重力。

我得到了解决方案!!!为popupWindow创建单独的布局文件,然后使用onClickListner事件调用该窗口。在按钮或图像onClick事件中创建此方法

私有void initiatePopupWindow(){ //实例化popup.xml布局文件 LayoutInflater LayoutInflater=(LayoutInflater)ProductListActivity.this.getSystemService(Context.LAYOUT\u INFLATER\u SERVICE); View customView=LayoutFlater.充气(R.layout.productlist\u弹出菜单,空)


进一步解释,exceptionon方法调用ivPricePopupMenu.setOnHoverListener(new View.OnHoverListener(){}在这一行中,我得到Exception它给出了这个错误-尝试调用虚拟方法'void android.widget.ImageView.setOnHoverListener(android.View.View$OnHoverListener)'在空对象引用上,使用onclick listener或touch listener
        //instantiate popup window
        final PopupWindow popupWindow = new PopupWindow(customView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

        popupWindow.setFocusable(true);
        popupWindow.setTouchable(true);
        popupWindow.setBackgroundDrawable(new ColorDrawable());
        popupWindow.setOutsideTouchable(true);

        //display the popup window
        popupWindow.showAtLocation(buttonTestingLayout, Gravity.CENTER, 0, 0);

    }