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
     

  • 相关阅读:
    [置顶] 也论百度轻应用--一个开发者的吐槽
    HDU 1506 Largest Rectangle in a Histogram
    [置顶] 搭建apache+tomcat+memcached集群环境
    (step8.2.6)hdu 1848(Fibonacci again and again——组合博弈)
    SQL2005、2008、2000 清空删除日志
    网络获取北京时间和系统时间
    C++界面库
    Cocos2d-X游戏开发之Windows7+VS2010环境搭建(亲测)
    华为面试题——一道关于指针方面的编程题(C/C++)
    java之Math
  • 原文地址:https://www.cnblogs.com/tt_mc/p/2362777.html
Copyright © 2011-2022 走看看