5

У меня есть приложение с NoActionBar темы. В моей основной деятельности у меня есть меню опций, которое я создал вручную в верхней части экрана (или используя кнопку опций встроенного устройства).Создание контекстного меню в контекстной панели действий

В этой основной деятельности, у меня есть фрагмента с ListView где я применяю режим действия функции Длинного нажатия, чтобы отобразить строку контекстных действий (CAB) для дальнейших пользовательских настроек.

Теперь я пытаюсь добавить элемент элемента в свой CAB, поэтому он будет содержать некоторые параметры, такие как выбор всех элементов в ListView, но поскольку это элемент CAB, я не могу показать всплывающее меню, как в регулярная деятельность. Кроме того, я хочу, чтобы все обратные вызовы меню параметров (например, onOptionsItemSelected) оставались в контексте CAB, чтобы иметь возможность продолжать выполнять действия в CAB.

Вот код моего САВА:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item 
     android:id="@+id/action_delete" 
     android:orderInCategory="100" 
     app:showAsAction="always" 
     android:icon="@drawable/ic_action_delete" 
     android:title="Delete"/> 

    <item 
     android:id="@+id/action_overflow" 
     app:showAsAction="always" 
     android:orderInCategory="200" 
     android:icon="@drawable/ic_action_overflow" 
     android:title="Options" 
     android:visible="false"/> 

</menu> 
+0

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

ответ

2

Видимо, я пропустил встроенную функцию САВ - встроенный в меню переполнения, которая коллапсирует некоторые из пунктов действия после того, как экран слишком мал, чтобы показать торговый центр.

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

android:showAsAction="never" 
app:showAsAction="never" 

Итак, у нас есть 3 действия (удаление, selece_all, добавить) в САВ, и мы хотим, чтобы два из них (SELECT_ALL, добавить), чтобы быть свернуты всегда под встроенный в меню переполнения, мы установим это в XML-кабины:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:mm="http://schemas.android.com/apk/res-auto"> 

<item 
    android:id="@+id/action_delete" 
    android:orderInCategory="100" 
    mm:showAsAction="always" 
    android:icon="@drawable/ic_action_delete" 
    android:title="Delete"/> 

<item 
    android:id="@+id/action_select" 
    android:orderInCategory="200" 
    android:showAsAction="never" 
    mm:showAsAction="never" 
    android:title="@string/select_all"/> 

<item 
    android:id="@+id/action_add" 
    android:orderInCategory="300" 
    android:showAsAction="never" 
    mm:showAsAction="never" 
    android:title="@string/button_add"/>