-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