Страницы

Поиск по вопросам

среда, 12 февраля 2020 г.

Создание меню toolbar (три точки)

#java #android #интерфейс


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

public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }


Но это вызов через функциональную клавишу.
Также еще хотелось бы узнать как разместить иконку перед названием приложения в тулбаре?
Спасибо.

UPD
Решение нашел в соответствии с этой статьей.
    


Ответы

Ответ 1



В три точки (Overflow) убираются элементы меню со значениями ifRoom/never атрибута app:showAsAction. ifRoom элементы убирутся только если не поместятся в тулбар. иконку ставить как-то так: toolbar.setIcon(R.drawable.ic_launcher);

Ответ 2



Проблема отображения в ActionBar 3-х точек на андроид устройствах у которых есть hardware menu button уже редко, но все же встречается. Я для своего Samsung GT-i8552 применял в методе onCreate() следующую конструкцию: try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); if (menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } } catch (Exception ignored) { } Решение тогда нашел где-то на просторах en.SO. P.S.: Но все же потом перешел на Toolbar, хотя для старых версий андроид присутствовала проблема - не было тени под тулбаром на андроид ниже 5.0. Так что дело вкуса.

Комментариев нет:

Отправить комментарий