繁体   English   中英

ActionBar上特定菜单项的不同外观/样式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM