当我长按菜单键时,手机在振动。如何将长按菜单键连接到某些操作。例如,更改MyLang() 方法。有可能这样做吗?
问问题
4012 次
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 回答