Задать вопрос
@antaki93
Пишу под Android.

Android Studio: как принудительно включить отображение значка меню (три точки) в ActionBar'е?

3ce0670753a24907a7eedc0277b662e6.png
Насколько я понимаю, если на устройстве есть кнопка "Меню", то меню должно отображаться по нажатию на него. Если такой кнопки на устройстве нет, то в ActionBar'е появляется значок в виде трёх точек, и меню вызывается при нажатии на этот значок. По крайней мере, в моём случае всё именно так и работает.
Я же хочу, чтобы в моём приложении (как и во многих других) значок меню отображался независимо от наличия кнопки на устройстве.
Пробовал отказаться от ActionBar в пользу ToolBar, но студия начинает ругаться на совместимость, поэтому заранее прошу работу с ним не предлагать. Изменял app:showAsAction на android:showAsAction и прочие мелкие махинации – не помогло. Прошу помощи.

Код создания меню:
public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.chat, menu);
        return super.onCreateOptionsMenu(menu);
    }


Макет:
<?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"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".ChatActivity" >

    <item android:id="@+id/clear_history"
        android:title="@string/clear_history"
        android:orderInCategory="0"
        app:showAsAction="never" />
</menu>
  • Вопрос задан
  • 2752 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Не совсем понял вопрос, но ладно:

Начнём с "макета":
app:showAsAction="never"  <!--Эта строчка означает, что "значок меню" никогда показан не будет-->


Замените её на:
app:showAsAction="always"

Документация

P.s
Если я неправильно вас понял или решение не помогло - отпишитесь об этом.
Ответ написан
@ashumkin
системный разработчик
targetSdkVersion в AndroidManifest.xml чему равен?
у нас было такое, на некоторых аппаратах её было видно всегда, даже в плавающем виде (на HTC)
я где-то вычитал (где - не помню), что targetSdkVersion должен быть не меньше 14, чтобы она пропала...
Возможно, Вам нужно наоборот, а может, и не это вовсе ))

З.Ы. возможно, тут android-developers.blogspot.ru/2012/01/say-goodbye...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы