【问题标题】:Showing a popup window when a menu item is selected选择菜单项时显示弹出窗口
【发布时间】:2014-03-26 22:38:42
【问题描述】:

我正在尝试在按下某个菜单项时创建一个弹出窗口。我想我有大部分代码,但是我不确定要为 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);
}

我应该为菜单的视图添加什么,或者我应该以其他方式执行此操作?我希望这是有道理的,感谢您的帮助!

【问题讨论】:

标签: android menu menuitem popupmenu android-popupwindow


【解决方案1】:

我知道已经 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);
}

所以基本上你所做的就是使用你膨胀的视图,在你的情况下是“布局”.. 希望对你有帮助,告诉我...

【讨论】:

  • “但我是你的解决方案”.. 我喜欢它
猜你喜欢
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多