2017-07-19 21 views
0

我有一個屏幕上的按鈕放置在屏幕上(靠近頂部)。下面的滾動和edittext彈出菜單

我想點擊按鈕,得到如下結果: 菜單的正下方按鈕打開,讓您選擇文本(從列表中)或寫我自己的文字(如「請在此輸入..「被寫入)。

enter image description here

我有這個彈出式菜單:

PopupMenu popupMenu = new PopupMenu(this, buttonChooseText); 
    for (int i = 0; i < listDefaultText.size(); ++i) { 
     // the list is from String type and contains "text1" and so on 
     popupMenu.getMenu().add(listDefaultText.get(i); 
    } 
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      switch (item.getTitle().toString()) { 
       case "Text1" : 
        //execute "text1" action 
        break; 
       case "Text2" : 
        //execute "text2" action 
        break; 
      } 
      return false; 
     } 
    }); 
    popupMenu.show(); 

所以,我怎麼能得到這樣的結果?

+0

爲什麼要輸入文字,要搜索或添加項目 – codecrazer

+0

如果用戶不想要任何列表(text1,text2 ...),他可以編寫自己的文本。因此,如果他按下「提交」,我將這個edittext字符串顯示在屏幕上的其他位置(而不是彈出窗口)。如果他從列表中選擇,我將按下的項目文本(「text1」等等..)並將其顯示在某處..希望你明白它 –

回答

1

PopupMenu可能會不足以滿足您的要求,因爲除了菜單項之外,它不提供很多靈活性。改爲使用PopupWindow,因爲它支持自定義佈局。 Here就是一個例子。

+0

它看起來像我需要的東西。很好,謝謝! –