2

Я пытаюсь реализовать функциональность панели действий приложения flipkart. Flipkart App screenshot.Пользовательское меню при нажатии кнопки по умолчанию

Для этого я успешно создал пользовательскую панель действий, но мне приходится сталкиваться с проблемами при отображении меню, как выпадающего на значок переполнения.

Если я попробую Android Option Menu on button click, тогда я получаю меню без значков (4.2.2) в центре моего экрана. Использование специального диалогового окна или диалогового окна предупреждений увядает с фоном, и они также отображаются в центре экрана.

Что мне делать, чтобы получить функциональность, аналогичную приведенной на картинке выше?

+0

показать некоторые коды пожалуйста. –

+0

@IllegalArgument, какой код вы хотите? Я попробовал три, ответную ссылку, предоставленную мной, пользовательский диалог и диалоговое окно предупреждения. Все они работают, но не обеспечивают точную функциональность. –

+2

Проверьте: http://stackoverflow.com/questions/15454995/popupmenu-with-icons –

ответ

0

Попробуйте этот путь, надеюсь, это поможет вам решить вашу проблему.

Пожалуйста, следуйте инструкциям ссылки на показанный пункт всплывающего меню с изображением, и вы можете использовать showAtLocation() для показа всплывающего окна в качестве желаемого местоположения.

Проверил:PopupMenu with icons

+1

Спасибо, хотя ваши комментарии были очень полезными, другие могут видеть этот ответ так же, как ссылку. Добавьте некоторые данные. –

3

Простой способ, которым я располагаю, переместить меню переполнения и добавить все это меню в качестве подменю в этом, тем самым вы достигнете этого представления. Кроме того, это переполнение меню дисплея, как всегда в вашем ActionBar

<item 
    android:icon="@drawable/ic_action_overflow" 
    android:showAsAction="always"> 
    <menu> 

     <item 
      android:id="@+id/menu_login" 
      android:icon="@drawable/login" 
      android:title="login"/> 
    </menu> 
</item> 
+0

проще и проще :) – HendraWD

+0

больше информации пожалуйста? как добавить элемент в тег меню? –

3

Вы можете легко использовать ListPopupWindow и любое удобное для Вас adapter:

// create any adapter with any data, just as for ordinary ListView 
    SimpleAdapter simpleAdapter= new SimpleAdapter(this, dataSet, android.R.layout.simple_list_item_2, 
          new String[] {"Name", "Tel. no."}, 
          new int[] {android.R.id.text1, android.R.id.text2}); 

ListPopupWindow listPopup = new ListPopupWindow(this); // feed context to ListPopupWindow 
listPopup.setAdapter(simpleAdapter); // set adapter to created ListPopupMenu 

listPopup.setAnchorView(findViewById(id)); 
// id - any id of any view on the screen. Under this view popup appears. It may be MenuItem as well 

listPopup.setWidth(getWidestView(simpleAdapter)); 
// as popup width equals the anchor width, use getWidestView method for proper list displaying. 
// ListPopupWindow.WRAP_CONTENT won't work here 

listPopup.show(); 

getWidestView фрагмент кода вы можете найти здесь: https://stackoverflow.com/a/13959716/4890659

0

Если вы ищете более существенное всплывающее меню и не бойтесь Котлина, вы можете попробовать: https://github.com/zawadz88/MaterialPopupMenu - нет ни одного ed, чтобы объявить меню в XML, и вы можете легко обрабатывать клики.

Смежные вопросы