有一个视图容器(蓝色),设置为几乎整个屏幕宽度。有时,显示在该容器内的视图不需要具有容器的完整宽度 - 因此我们仅显示可见部分(绿色),而视图的其他部分是透明的(容器内除可见视图之外的区域)。同时其他视图(紫色)可以放置在视图容器的透明部分后面。
问题是 - 如何通过容器的透明部分使此类视图可点击?此时可见视图(绿色)应该以自己的方式进行触摸。
视图声明是在 XML 的帮助下完成的,而不是组合。
据我所知,您无法更改视图的某些部分是否可点击而某些部分不可点击。其全视图可点击或不可点击。
在您的情况下,由于容器采用全宽,因此它要么完全可点击,要么完全不可点击。
您的问题的解决方案是:
A:不要渲染全宽并使左边部分透明。由于没有使用透明部分,因此只需渲染到可见部分(绿色)即可。这样紫色视图就会可见。
B:如果您以某种方式知道您的可见视图(绿色)正在占据全宽,则在绿色视图上方放置一个十字图标,让紫色视图在后面。并在十字图标上设置点击监听器。
作为参考,请看一下这个答案:将触摸传递到
下的视图