使父元素可点击是不是也会使所有子元素也可点击?
Posted
技术标签:
【中文标题】使父元素可点击是不是也会使所有子元素也可点击?【英文标题】:Does making parent clickable make all child element clickable as well?使父元素可点击是否也会使所有子元素也可点击? 【发布时间】:2011-12-29 10:04:31 【问题描述】:有一个LinearLayout
有很多子元素。当用户触摸这些子元素中的任何一个时,将调用相同的方法。为了不为每个元素实现相同的onClickListener
,我为父LinearLayout ONLY 实现了onClickListener
。
现在,当我单击父布局边界内的任意位置时,将调用所需的方法,就像我为所有子元素实现了侦听器一样。
问:我是否可以相信,每当我为父级实现 onClickListener
时,它的所有子元素都会对点击事件做出反应?
问:如果任何子元素都有自己的onClickListener
,会发生什么情况?是否会发生碰撞或单击该元素只会触发其自己的单击事件?
【问题讨论】:
按下的布局应该传播到它的所有子级 【参考方案1】:您用第二个问题回答了第一个问题。 clickEvent 将被传递到布局层次结构中的最低子元素。如果这个元素没有 onClick 行为,它将把事件向上传递给它的父元素,直到事件被处理。
因此,您可以将 LinearLayout 视为您的 onClick 行为的一个块。 如果您在布局内创建另一个可点击元素,请确保将其设置得足够大,以减少用户错过正确项目的机会。
【讨论】:
以上是关于使父元素可点击是不是也会使所有子元素也可点击?的主要内容,如果未能解决你的问题,请参考以下文章