我已經使用xml設置了操作欄按鈕,但是我想使用java代碼設置圖標,因爲我希望圖標可以更改。如何通過Java代碼設置操作欄按鈕圖標
我想在onCreateOptionsMenu()
中設置圖標。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
我已經使用xml設置了操作欄按鈕,但是我想使用java代碼設置圖標,因爲我希望圖標可以更改。如何通過Java代碼設置操作欄按鈕圖標
我想在onCreateOptionsMenu()
中設置圖標。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
你第一次使用Menu.findItem()
的項目,然後調用MenuItem.setIcon()
設置圖標
code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
menu.findItem(R.id.messages).setIcon(R.drawable.ic_action_email);
return true;
}
通過索引和集合的圖標讓你的菜單項:
menu.getItem(index).setIcon(R.drawable.icon);
爲前:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
menu.getItem(index).setIcon(R.drawable.icon);
return true;
}
你的意思是呢? menu.getItem(R.id.messages).setIcon(R.drawable.ic_action_email); 但它不工作。它變得部隊封閉。 –
沒有物品ID你需要使用物品的索引。或者嘗試查找功能。 –
findItem函數工作 –
抱歉。您的代碼中的「myitem」是什麼? –
@dumidu我編輯了代碼。 –
它的工作。但代碼應該是setIcon(R.drawable.iconid); –