没用过popwindow
只知道dialog可以设置dialog.setCanceledOnTouchOutside(true);

解决方案 »

  1.   

       
      是滴,但是popupwindow怎么设置点击外部取消
      

  2.   

    http://www.cnblogs.com/joey-home/archive/2012/07/02/2573855.html
      

  3.   


    非常感谢你,但是我的popupwindow是覆盖了整个屏幕,设置背景和setoutside(true)之后就不好使了,知道原因?  
      

  4.   

    原来一直没用过popwindow。。一直是用dialog或者activity的android:style/Theme.Dialog
    帮不了你啦。
      

  5.   

    希望能帮的上你
    PopupWindow pw;
    LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.weight_popup, (ViewGroup)findViewById(R.id.linlay_weight_popup));
    pw = new PopupWindow(layout,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT, true);
    pw.setBackgroundDrawable(new BitmapDrawable());
    pw.setOutsideTouchable(true);
    pw.showAsDropDown(btnSelectWeight);
      

  6.   

    pw = new PopupWindow(pop, w / 3, LayoutParams.WRAP_CONTENT, true);
    pw.setOutsideTouchable(true);
    pw.setBackgroundDrawable(getResources().getDrawable(
    R.drawable.home_btn_bg_s));
    pw.setFocusable(true);我这个就是这样设置,点击pw外面就可以关闭,看你这个应该不是这里的问题吧
      

  7.   

    LayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     menuView = (ViewGroup) mLayoutInflater.inflate(R.layout.main2, null);
     menuView.setOnKeyListener(new OnKeyListener() {  
    @Override  
     public boolean onKey(View v, int keyCode, KeyEvent event) {  
                if ((keyCode == KeyEvent.KEYCODE_MENU)&&(myMenu.isShowing())){  
                     myMenu.dismiss();
                     return true;  
                 }  
                 return false;  
             }  
       });  
     
     
     menuView.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
    if(myMenu.isShowing()){
    myMenu.dismiss();
    }
    return false;
    }
    });
    为什么一定要这么写才可以啊  ,我的menuView是自定以的xml,就是popupWindow的布局
      

  8.   

      那我的哪个Activity中的onMenuOpened方法只在打开popupwindow才有用, 是不是失去焦点的原因?
      

  9.   

     我大概知道原因了?  因为我从哪个Activity启动,结果哪个Activity失去焦点,当前的焦点在menuView(也就是当前的Popupwinow),所以我设置这两个事件,就起作用了。  
      那我怎么可以让哪个Activity不失去焦点???     
      

  10.   

    一般弹出popwindow后焦点就在其上了,为什么你偏偏不愿意让焦点在上面呢?
    不过你可以在pop弹出之后,让activity的某一个组件requestFocus()
      

  11.   

      
     我弹出popupwindow之后, 点击外面就是不知道为什么取消不了,万不得已用这个方式
      

  12.   

    myMenu.setOutsideTouchable(true);  myMenu.setTouchable(true);  
    去掉试试再说你的popwindow是全屏 怎么点击外部??
      

  13.   

    请问下 有没有单独让某个LinearLayout出现的时候有动画?
      

  14.   

    类似  popupwindow.setAnimationStyle(R.style.AnimationFade); 
      

  15.   

    外面的点击事件能获取到吗?能获取到的话,在那里popwindow.dismiss() 就可以了啊
      

  16.   

    pop.setOutsideTouchable(true);  
      

  17.   

    ColorDrawable cd = new ColorDrawable(-0000); 
    popubwindow.setBackgroundDrawable(cd);加上这句试一试