2011-12-14 14 views
3

誰でも、単一のボタンを使用して同じポップアップウィンドウを表示したり非表示にすることができますか教えてください。同じポップアップを表示して非表示にするAndroidボタン

提案を歓迎します。


ポップアップは、私は、メニューボタンをクリックしたときにリストビューが含まれているポップアップウィンドウを表示し、私は再び、メニューボタンをクリックし、画面上の任意の場所に触れると、popwindowが消えなければならないことを意味します。

+1

詳細を説明すると、 –

+0

ポップアップとはどういう意味ですか?起動しているダイアログですか、ポップアップをシミュレートした新しいビューですか? – Abhinava

+0

ブールフィールドをフラグとして使用します。しかし、あなたのポップアップであなたのボタンがカバーされる可能性を考慮してください – njzk2

答えて

4

私はこれを行うためにコードを使用します。あなたの場合、menuButtonはあなたのシングルボタンで、contentはリストビューです。 anchorは、menuButtonまたはそれ以外のViewです。

public static void setupMenuButton(View menuButton, View content, final View anchor) { 
    private PopupWindow popup; 

    menuButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (popup == null) { 
       popup = new PopupWindow(content, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
       popup.setOutsideTouchable(true); 
      } 

      if (popup.isShowing()) { 
       popup.dismiss(); 
      } 
      else { 
       popup.showAsDropDown(anchor); 
      } 
     } 
    }); 
} 
関連する問題