使视图的透明部分经过触摸并保持触摸可见部分

问题描述 投票:0回答:1

有一个视图容器(蓝色),设置为几乎整个屏幕宽度。有时,显示在该容器内的视图不需要具有容器的完整宽度 - 因此我们仅显示可见部分(绿色),而视图的其他部分是透明的(容器内除可见视图之外的区域)。同时其他视图(紫色)可以放置在视图容器的透明部分后面。

问题是 - 如何通过容器的透明部分使此类视图可点击?此时可见视图(绿色)应该以自己的方式进行触摸。

视图声明是在 XML 的帮助下完成的,而不是组合。

android android-layout android-view android-viewholder
1个回答
0
投票

据我所知,您无法更改视图的某些部分是否可点击而某些部分不可点击。其全视图可点击或不可点击。

在您的情况下,由于容器采用全宽,因此它要么完全可点击,要么完全不可点击。

您的问题的解决方案是:

A:不要渲染全宽并使左边部分透明。由于没有使用透明部分,因此只需渲染到可见部分(绿色)即可。这样紫色视图就会可见。

B:如果您以某种方式知道您的可见视图(绿色)正在占据全宽,则在绿色视图上方放置一个十字图标,让紫色视图在后面。并在十字图标上设置点击监听器。

作为参考,请看一下这个答案:将触摸传递到

下的视图
© www.soinside.com 2019 - 2024. All rights reserved.