在我的活动中,我使用Toolbar
(来自appcompat)使用微调器而不是标题(在xml中定义)。活动不是ActionBarActivity
,因此我不将其用作supportActionBar
当选择发生时,我启动actionMode
,它被设置为工具栏上方。
但是,单击actionMode的标题将打开基础微调器的下拉菜单。如何“捕获”actionMode标题上的触摸事件以阻止它们传递到工具栏?
答案 0 :(得分:2)
一个简单的解决方案是在打开actionMode时放置yourspinner.setClickable(false);
,在关闭时放置yourspinner.setClickable(true);
。
修改的
您还可以尝试覆盖actionMode
的{{1}}方法以返回onActionItemClicked
https://developer.android.com/reference/android/support/v7/view/ActionMode.Callback.html#onActionItemClicked(android.support.v7.view.ActionMode,android.view.MenuItem)
答案 1 :(得分:2)
您可以尝试重载工具栏的onTouchEvent。如果您的actionMode为true,则将发送true,并且touchEvent链将停止。
mToolbar.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
return actionMode;
}
});
我希望它有所帮助。