4

我在檢查如何將菜單項的圖標更改爲加載動畫的進度條。我試着用在MenuItem上顯示進度條,即使它在拆分動作欄模式下

<item android:id="@+id/action_favorite" 
    android:icon="@drawable/ic_action_heart" 
    clasificados:showAsAction="always|collapseActionView" 
    clasificados:actionViewClass="android.widget.ProgressBar"/> 

我使用拆分操作欄模式。當我點擊它時,圖標消失,進度條顯示在頂部欄上。

我需要改變什麼?

回答

11

您需要動態添加和刪除操作視圖。這裏有一個簡單的例子

<item 
    android:id="@+id/action_favorite" 
    android:icon="@drawable/ic_action_heart" 
    android:showAsAction="always" /> 

@Override 
public boolean onOptionsItemSelected(final MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_favorite: 
      item.setActionView(new ProgressBar(this)); 
      item.getActionView().postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        item.setActionView(null); 
       } 
      }, 1000); 
      return true; 
     default: 
      return false; 
    } 
} 

關於GIF的速度,它只是我記錄的比特率。 Example gif

+0

api <11中setcontentview的替代方法是什麼? –

+0

我想你的意思是'setActionView',你需要使用[MenuItemCompat](http://bit.ly/1qSpOeN) – adneal

+0

非常好的解決方案..謝謝 –

相關問題