zoukankan      html  css  js  c++  java
  • popupWindow设置了setTouchable(true);setFocusable(true)时,如何捕获到menu键?

    设置了焦点,那么这个弹出窗体是当前操作的窗口,如果想要后面的Activity响应按键,需要在popupwindow上注册键盘事件,然后去调用Activity的组件来响应相应的事件。但是
    popupWindow好像只有一个onDisMiss的监听,怎么来注册键盘事件监听啊?
    可以利用setOnKeyListener对popupwindow的某个view设置监听,捕捉键盘事件就可以了吧
    popupwindow里面有个View,用这个view添加键盘事件
    给最外层的view设下setOnKeyListener就可以了

    例如
            menuView.setBackgroundDrawable(new BitmapDrawable());
                    menuView.setFocusable(true);
                    menuView.setFocusableInTouchMode(true);
                    menuView.setOnKeyListener(new OnKeyListener()
                    {

                            @Override
                            public boolean onKey(View v, int keyCode, KeyEvent event)
                            {
                                    // TODO Auto-generated method stub
                                    if (event.getAction() == KeyEvent.KEYCODE_MENU)
                                    {
                                            Log.v("keyCode", "/" + keyCode);
                                            popupBack.dismiss();
                                            popupWindow.dismiss();
                                            return false;

                                    }

                                    return false;
                            }
                    });
     

     参考这个例子,里面可以添加如上的方法实现点击MENU键关闭菜单的功能。

    http://blog.csdn.net/kkfdsa132/article/details/6403404
     

  • 相关阅读:
    从原理层面掌握@InitBinder的使用【享学Spring MVC】
    array详解
    forward_list详解
    list详解
    deque详解
    vector详讲(三)实例
    vector详讲(二)迭代器
    vector详讲(一)
    numeric_limits<>函数
    seek()和tell()在文件里转移
  • 原文地址:https://www.cnblogs.com/tt_mc/p/2362777.html
Copyright © 2011-2022 走看看