【问题标题】:Menu button long press action菜单按钮长按动作
【发布时间】:2013-08-28 06:58:54
【问题描述】:

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

【问题讨论】:

标签: android button menu long-press


【解决方案1】:

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

查看“ApiDemo”ActionBarSettingsActionProviderActivity。 (link) 以此为起点,ActionProvideronCreateActionView 看起来像这样:

    @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;
    }

编辑:

如果您正在谈论覆盖硬件菜单按钮,您可以这样做,但只能在您的应用中进行。有关如何挂钩关键事件的 sn-ps,请参阅here

【讨论】:

  • 刚刚重新阅读您的问题并意识到您可能正在谈论系统菜单按钮(“硬件”按钮)。如果是这样,这个答案与此无关。我以为你的意思是 Menu 按钮。
猜你喜欢
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2015-04-01
相关资源
最近更新 更多