2015-05-17 4 views
2

UPDATE: Я нашел значок гамбургер из GitHub Google (https://github.com/google/material-design-icons/blob/master/navigation/drawable-xxhdpi/ic_menu_white_48dp.png), но передавая Drawable ресурс в ActionBarDrawerToggle и вызова syncState не показывает значок гамбургер вопреки предложениям других постсоциалистических в (Appcompatv7 - v21 Navigation drawer not showing hamburger icon)ActionBarDrawerToggle.syncState Не отображает значок гамбургера?

OLD ВОПРОС: Я делал навигационную панель для своего приложения для Android, и я понял, что значок гамбургера отсутствует. Я последовал за этот вопрос (Appcompatv7 - v21 Navigation drawer not showing hamburger icon) и понял, что я должен назвать mDrawerToggle.syncState(); ... Теперь, чтобы создать ActionBarDrawerToggle класс мне нужно следующее:

  • деятельность - Деятельность хостинги ящик
  • drawerLayout - The DrawerLayout в ссылка на данные ActionBar Activity в
  • drawerImageRes - растяжимый ресурс для использования в качестве индикатора ящика
  • openDrawerContentDescRes - строка ресурса для описания «открытого ящика» - действия для обеспечения доступности
  • closeDrawerContentDescRes - Строка ресурс для описания «закрыть ящик» действий для доступности

Я прошел в this как деятельность (я называю это от моей основной деятельности), drawerLayout как мой фактический макет ящика и документы на самом деле не объясняли, что делают последние два параметра, я просто создал некоторые строковые ресурсы-заполнители и передал их. Но я понимаю, что drawerImageRes должен показывать значок гамбургера, я просто не знаю, где его получить ..

Может ли кто-нибудь сказать мне, где я могу получить значок гамбургера?

EDIT: Я понял, что андроид пример из https://developer.android.com/training/implementing-navigation/nav-drawer.html использует R.drawable.ic_drawer, но я не знаю, откуда он пришел из ... The Android Сайт разработчика также говорит:

Стандартная панель навигации значок доступен в папке «Скачать значок панели действий».

Но я скачал пакет и леденец гамбургер не там ...

+0

Вместо гамбургера я нашел 3 вертикальные точки. Это вариант? –

+1

Нет, я действительно хочу использовать гамбургер, который использует почти каждый другой оптимизированный Android-приложение, поддерживающее леденец. Спасибо за усилия! –

ответ

2

При обновлении библиотеки поддержки для 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 */ 
    ) 

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

+0

Удивительный! Это работает для меня. Мне нужно обновить пакет с 'v4' до' v7', а затем я получу правильный contructor. –

+0

Это работало для меня, мастер Android Studio обеспечивает устаревший код с помощью «ActionBarDrawerToggle» из 'appcompatv4'. Мне просто нужно изменить импорт на 'v7' и конструктор. – Solostaran14

Смежные вопросы