我在另一个 View 之上有一个 View 。单击底部 View 应该会触发回调。单击顶部 View 时不应触发任何回调。
我面临的问题是,当点击顶部 View 时,底部 View 会触发其回调。我想阻止这种情况。
我读过许多关于禁用点击的帖子,它们都提出了同样的建议:
view.setEnabled(false);
和
view.setClickable(false);
这些都不能阻止顶 View 吞噬/阻止点击事件。
您知道我如何才能阻止点击通过吗?
最佳答案
这有点老套,但我想出的最佳解决方案是添加一个空的 onClickListener 来吞下事件。
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// HACK disables click through events by swallowing click
}
});
关于Android 有 View Block/Swallow Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38214742/