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 */
    )

сделать что-то похожее на это, появится значок гамбургера. У меня была проблема, похожая на эту, но теперь она исправлена ​​благодаря действительно полезному человеку.

Другие вопросы по тегам