Не удается изменить значок ящика для NavigationDrawer

Я пытаюсь реализовать новый NavigationDrawer, представленный после последнего выступления Android.

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

Но теперь у меня все еще есть значок стрелки, хотя я заменил его на ic_drawer из Android. Почему?

Вот мой код, где я указал значок:

mDrawerToggle = new ActionBarDrawerToggle(
            this,                 
            mDrawerLayout,         
            R.drawable.ic_drawer, //<-- This is the icon provided by Google itself
            R.string.drawer_open,
            R.string.drawer_close 
            )

Но приложение по-прежнему работает со стандартной иконкой setDisplayHomeAsUpEnabled.

Любые идеи?


person user2410644    schedule 29.05.2013    source источник


Ответы (2)


Я только что заработал Navigation Drawer. Я забыл добавить следующие методы, также представленные в примерах developer.android.com:

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    // Sync the toggle state after onRestoreInstanceState has occurred.
    mDrawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    mDrawerToggle.onConfigurationChanged(newConfig);
}
person user2410644    schedule 02.06.2013
comment
Это было точно! Благодарю вас! Я искал как 2 часа для решения. - person Kyle Falconer; 28.06.2013
comment
У меня такая же проблема, но только со старыми устройствами, вроде 2.3. Мой код уже был похож на ваш, и проблема продолжает беспокоить меня. - person Renan Bandeira; 08.11.2013
comment
Так что те случаи, когда вы следуете официальному примеру Google и говорите: «О, мне пока не нужно реализовывать эти функции». Да, не делай этого. Спасибо за этот ответ! - person theblang; 11.12.2013

У меня была такая же проблема, ответ: если вы устанавливаете

getActionBar().setDisplayShowHomeEnabled(false);

затем отображается обычный значок вверх. Так что попробуй без него

person Ravi    schedule 03.06.2013