簡體   English   中英

動態更改導航抽屜中的圖標

[英]Change icon in Navigation Drawer on the fly

我目前正在嘗試在發生某些事件時更改導航抽屜中的圖標。 是否可以?? 我的意思是我更改了圖標 - 沒問題:

    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  
    ) {};

非常感謝!

是否可以?

是的,但您需要調用DrawerLayout.setDrawerListenerActionBarDrawerToggle.syncState來更新指示器並確保它已同步。

下面是一個例子:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM