-1
我想禁用ActionBar Menu Item
,但使其可點擊。有什麼辦法可以做到這一點?禁用ActionBar菜單項,但仍可點擊
現在,如果我將setEnabled
設置爲false
這是正常行爲,但它不可點擊,這只是灰色。
我想禁用ActionBar Menu Item
,但使其可點擊。有什麼辦法可以做到這一點?禁用ActionBar菜單項,但仍可點擊
現在,如果我將setEnabled
設置爲false
這是正常行爲,但它不可點擊,這只是灰色。
這並沒有真正回答這個問題,因爲ActionBar Menu Item
不能同時被禁用和點擊。我最終做的是啓用Menu Item
並將文本顏色設置爲灰色,以使其看起來是僞禁用的。如果條件滿足,它會更改爲默認顏色。
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
SpannableStringBuilder text = new SpannableStringBuilder();
text.append(getString(R.string.menu_title));
if (someCondition){
text.setSpan(new ForegroundColorSpan(Color.BLACK),
0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
else {
text.setSpan(new ForegroundColorSpan(Color.LTGRAY),
0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
MenuItem item = menu.findItem(R.id.some_menu_id);
item.setTitle(text);
return true;
}
你是什麼意思變灰而不是'clickable'。如果你調用'setEnabled(false)',它將會變灰。 – Varun
是的,我希望它變灰,但我也希望它是可點擊的。 – input