我想禁用ActionBar Menu Item
,但可以点击它。我有什么方法可以做到这一点吗?
现在,如果我将setEnabled
设置为false
这是正常的行为,但它不可点击,那就太白了。
答案 0 :(得分:0)
这并不能真正回答这个问题,因为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;
}