即时更改导航抽屉中的图标

时间:2014-04-15 06:41:07

标签: android navigation navigation-drawer drawer

我正在尝试在某些事件发生时更改导航抽屉中的图标。可能吗??我的意思是我改变了图标 - 这没问题:

    mDrawerToggle = new ActionBarDrawerToggle(
            this,                  
            mDrawerLayout,         
            R.drawable.actionbar_settings,  /* my icon - all Ok! */
            R.string.text1,  
            R.string.text2  
    ) {};

我的意思是如果某个事件触发并且我想在另一个事件上更改此图标该怎么办?如果我重复代码但有另一个图标 - 没有成功。

    mDrawerToggle = new ActionBarDrawerToggle(
            this,                  
            mDrawerLayout,         
            R.drawable.new_icon_image,  /* bad news - nothing changes */
            R.string.text1,  
            R.string.text2  
    ) {};

非常感谢!

1 个答案:

答案 0 :(得分:1)

  

有可能吗?

是的,但您需要致电DrawerLayout.setDrawerListenerActionBarDrawerToggle.syncState来更新指标,并确保它已同步。

以下是一个例子:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
        R.drawable.new_icon_image, R.string.text1, R.string.text2);
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.syncState();