Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android PopupWindow點擊消失的解決辦法

Android PopupWindow點擊消失的解決辦法

編輯:Android開發實例

1、點擊PopupWindow 外部區域時,PopupWindow消失

  1. popMenu = new PopupWindow(getApplicationContext());   
  2.         popMenu.setWidth(LayoutParams.MATCH_PARENT);   
  3.     
  4.         popMenu.setHeight(LayoutParams.MATCH_PARENT);   
  5.     
  6.         popMenu.setBackgroundDrawable(new BitmapDrawable());   
  7.     
  8.         popMenu.setFocusable(true);   
  9.         popMenu.setOutsideTouchable(true); 

 

這裡使用了 setOutsideTouchable 屬性,具體可以去參考 developer文檔。

使用PopupWindow注意事項:必須設置PopupWindow的backgroundDrawable,否則會出現各種意想不到的bug。

2、點擊PopupWindow 自身時(非按鈕控件時),PopupWindow消失

解決辦法:給 PopupWindow的 contentView 注冊一個點擊事件

  1. view.setOnClickListener(new OnClickListener() {   
  2.                 
  3.             @Override 
  4.             public void onClick(View v) {   
  5.                 if(popMenu.isShowing()){   
  6.                     dismiss();   
  7.                 }   
  8.             }   
  9.         });   
  10.     
  11. popMenu.setContentView(view);   
  12.     
  13.         popMenu.showAtLocation(v, Gravity.BOTTOM, 0, 0);   
  14.         // popMenu.setAnimationStyle(R.style.popwin_anim_style);   
  15.     
  16.         popMenu.update(); 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved