2014-03-26 63 views
0

我試圖按某個菜單項時創建一個彈出窗口。我想我有大部分的代碼,但我不知道該怎麼做showAtLocation(...)或showAsDropDown(...)。當選擇一個菜單項時顯示一個彈出窗口

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     ... 
     case R.id.about: 
      displayPopupWindow(); 
      return true; 
     ... 
     } 
} 

public void displayPopupWindow() { 
    PopupWindow popup = new PopupWindow(this); 
    View layout = getLayoutInflater().inflate(R.layout.popup, null); 
    popup.setContentView(layout); 
    popup.setOutsideTouchable(true); 
    popup.setFocusable(true); 
    popup.showAtLocation(??, Gravity.CENTER, 0, 0); 
} 

我應該爲菜單視圖放置什麼,或者我應該以另一種方式做到這一點?我希望這是有道理的,並感謝您的幫助!

+0

此信息可能灑在showAtLocation部分一些輕: http://stackoverflow.com/questions/7926689/androidpopupwindow-showatlocation – Gravitoid

回答

6

我知道它已經4個月,也許你已經過了,但即時通訊解決方案,我只是簽署了昨天在這裏,所以YH ..這裏的解決您的問題,複製和粘貼..

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    ... 
    case R.id.about: 
     displayPopupWindow(); 
     return true; 
    ... 
    } 
} 

public void displayPopupWindow() { 
    PopupWindow popup = new PopupWindow(this); 
    View layout = getLayoutInflater().inflate(R.layout.popup, null); 
    popup.setContentView(layout); 
    popup.setOutsideTouchable(true); 
    popup.setFocusable(true); 
    popup.showAtLocation(layout, Gravity.CENTER, 0, 0); 
} 

所以基本上你做的是你使用充氣認爲這是「佈局」,在你的情況.. 希望它能幫助,讓我知道...

+3

「但即時您的解決方案」..我喜歡它 –

相關問題