将父元素设置为可点击是否会使得所有的子元素也变为可点击?

22

有一个包含许多子元素的LinearLayout。当用户触摸其中任何一个子元素时,将调用相同的方法。为了不必为每个元素实现相同的onClickListener,我仅为父LinearLayout实现了onClickListener

现在,当我点击父布局边框内的任何位置时,所需的方法就会像我为所有子元素实现监听器一样被调用。

Q:如果我为父布局实现onClickListener,我可以信任所有子元素都会对点击事件做出反应吗?

Q:如果任何子元素有自己的onClickListener,会发生什么?是否会冲突,或者只会触发它自己的单击事件?


1
按下的布局应该传播到其所有子项。 - user849998
1个回答

31
你用第二个问题回答了第一个问题。 clickEvent将传递给布局层次结构中最低的子元素。如果此元素没有onClick行为,它将把事件传递给其父级,直到该事件被处理。
因此,您可以将LinearLayout视为单个块以进行onClick行为。 如果在布局中创建另一个可点击元素,请确保使其足够大,以减少用户错过正确项目的机会。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接