0

当我长按菜单键时,手机在振动。如何将长按菜单键连接到某些操作。例如,更改MyLang() 方法。有可能这样做吗?

4

1 回答 1

1

默认情况下,ActionBar项目title在工具提示中显示属性。您不能覆盖此功能。但是,您可以创建一个 custom ActionProvider,您可以在其中View.OnLongClickListener设置a

查看“ApiDemo” ActionBarSettingsActionProviderActivity。(链接) 以此为起点,onCreateActionView您的ActionProvider将如下所示:

    @Override
    public View onCreateActionView() {
        LayoutInflater layoutInflater = LayoutInflater.from(mContext);
        View view = layoutInflater.inflate(R.layout.action_bar_custom_action_provider, null);

        ImageButton button = (ImageButton) view.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Respond to normal click
            }
        });
        button.setOnLongClickListener(new OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                // Respond to long-click
                return true;
            }
        }
        return view;
    }

编辑:

如果您正在谈论覆盖硬件菜单按钮,您可以这样做,但只能在您的应用程序中进行。有关如何挂钩关键事件的片段,请参见此处。

于 2013-08-28T07:38:36.727 回答