ActionBarDrawerToggle.syncState Не показывает значок гамбургера?
ОБНОВЛЕНИЕ: я нашел значок гамбургера в github от Google ( https://github.com/google/material-design-icons/blob/master/navigation/drawable-xxhdpi/ic_menu_white_48dp.png), но передал ресурс для рисования в ActionBarDrawerToggle и вызов syncState не показывает значок гамбургера вопреки советам других постов ( Appcompatv7 - v21 В панели навигации не отображается значок гамбургера)
СТАРЫЙ ВОПРОС: я делал панель навигации для своего приложения для Android и понял, что значок гамбургера отсутствует. Я последовал за этим вопросом ( Appcompatv7 - v21 Панель навигации не показывает значок гамбургера) и понял, что я должен вызвать mDrawerToggle.syncState();
... Теперь, чтобы создать ActionBarDrawerToggle
класс мне нужно следующее:
- активность - активность хост
- boxLayout - DrawerLayout для ссылки на ActionBar данного действия
- boxImageRes - ресурс Drawable для использования в качестве индикатора ящика
- openDrawerContentDescRes - ресурс String для описания "открытого ящика" - действие для доступности
- closeDrawerContentDescRes - ресурс String, описывающий действие "закрыть ящик" для обеспечения доступности
Я прошел в this
как упражнение (я называю это из своей основной деятельности), в качестве моего фактического макета ящика и документа не было никакого объяснения того, что делают последние два параметра, каким образом я выдвигал последние два параметра, поэтому я просто создал некоторые строковые ресурсы-заполнители и передал их. Но я Я понимаю, что для отображения значка гамбургера требуется в поле BoxImageRes, я просто не знаю, где его взять.
Может кто-нибудь сказать мне, где я могу получить значок гамбургера?
РЕДАКТИРОВАТЬ: я понял, что пример Android из https://developer.android.com/training/implementing-navigation/nav-drawer.html использует R.drawable.ic_drawer
но я не знаю, откуда он взялся... Сайт разработчика Android также говорит:
Значок стандартного навигационного ящика доступен в пакете значков панели действий.
Но я скачал пачку, а гамбургер с леденцами там нет...
1 ответ
Если вы обновите свою библиотеку поддержки до v22, и
mDrawerToggle = new ActionBarDrawerToggle(
getActivity(), /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.string.navigation_drawer_open, /* "open drawer" description for accessibility */
R.string.navigation_drawer_close /* "close drawer" description for accessibility */
)
сделать что-то похожее на это, появится значок гамбургера. У меня была проблема, похожая на эту, но теперь она исправлена благодаря действительно полезному человеку.