0

Я хочу создать контекстное меню с плавающей точкой, которое показывает, когда пользователь нажимает на определенную опцию из панели действий. Это моя диаграмма, сделанная на доске.Откройте контекстное меню float из опции меню панели действий

enter image description here

Я не имею время для использования макета инструмента. Я новичок в андроиде, но я занимался некоторыми исследованиями. Тем не менее, я только что придумал свою панель действий.

enter image description here

Я нашел много учебников, настолько сложны, что я не могу следовать за ними. Что было бы хорошим способом начать кодирование этой функции?

+0

использование подменю. Также вы можете использовать диалог со списком. – Harry

+0

Можете ли вы уточнить? – Leo

+0

см. Http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog – Harry

ответ

2

Я отправляю решение в любом случае :)

См добавление списка в диалоге предупреждения в данной ссылке AlertDialogs

в menu.xml добавить элементы, как это:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" > 

<item 
    android:id="@+id/menu_item" 
    android:icon="@drawable/ic_launcher" 
    android:title="menu_item" 
    app:showAsAction="always"> 
    <menu> 
     <item 
      android:id="@+id/menu1" 
      android:title="menu1"/> 
     <item 
      android:id="@+id/menu2" 
      android:title="menu2"/> 
    </menu> 
</item> 

и в деятельности onOptionsItemSelected()

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    ... 
    if (item.getItemId() == R.id.menu2) 
    { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Submenu").setItems(new String[] 
     { 
     "Item1", "Item2", "Item3" 
     }, new DialogInterface.OnClickListener() 
     { 
      public void onClick(DialogInterface dialog, int which) 
      {//TODO 
      } 
     }); 
     builder.show(); 
    } 
    ... 

    return super.onOptionsItemSelected(item); 
} 

Это решит цель!

+0

Спасибо. Это сработало. : D – Leo