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
     

  • 相关阅读:
    c# 创建多线程
    使用opencvsharp通过mvvm在image中显示图片
    c# 创建文件/文件夹对话框
    wpf MVVM框架基础
    wpf DataBinding
    layui自动点击下拉列表的一项并选中
    LayUI默认样式调整
    mysql取某个组的前n条数据
    Kali3.0系统切换中文
    JS触发某元素周围元素的样式改变
  • 原文地址:https://www.cnblogs.com/tt_mc/p/2362777.html
Copyright © 2011-2022 走看看