[英]Different look/style for specific menu item on ActionBar
在我的Android应用程序上,我根据Android开发人员博客和其他地方的提示自定义ActionBar。 我希望能够突出显示ActionBar上的特定菜单项,例如具有不同的背景颜色,因为它特别适用于当前可见的片段(实际添加了它)。 但是我没有发现任何可以做到这一点的迹象,也没有我自己设法做到这一点。 可能吗? 如果是这样的话?
所以我现在用这个技巧来解决这个问题。 这里是片段代码
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menuItemCreateCart = menu.findItem(R.id.menuItemCreateCart);
if (menuItemCreateCart == null) {
menuItemCreateCart = menu.add(0, R.id.menuItemCreateCart, 0, R.string.Create);
}
TextView tv = new TextView(getActivity());
tv.setText(R.string.Create);
tv.setTextColor(getResources().getColor(R.color.green));
tv.setBackgroundColor(getResources().getColor(R.color.lightBlue));
tv.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
createCart();
}
}
);
menuItemCreateCart.setActionView(tv);
主要问题是onclicklistener必须设置在您设置为操作视图的视图上,而不是菜单项才能工作。 这样你就可以做任何你喜欢的事情。
另请注意,您不能使用getActionView检索带有标题的原始设置视图,因为它将返回null。 它似乎是一个替代视图而不是默认菜单项的实际视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.