是否可以在另一个视图的顶部放置透明视图并点击注册到底部视图?

时间:2016-01-24 04:04:44

标签: titanium appcelerator appcelerator-titanium

我基本上要做的是在我的整个屏幕上放置一个透明视图,但仍然会在下面的可见视图上点击。透明视图上会有按钮,所以我不能让透明视图的zIndex小于底部视图或类似的东西。

想知道这是否可能?

谢谢!

3 个答案:

答案 0 :(得分:0)

基础视图组件不能直接访问,与bubbleParent相反。但是,可以通过将面纱的xy触摸坐标映射到子组件的基础位置(和rect)并在目标视图上调用fireEvent来实现。不理想,但可能是一个解决方案。

答案 1 :(得分:0)

这将是一个黑客。

您可以从透明图层的click事件中调用每个底层元素的click事件。

您需要弄清楚用户点击的透明层上的位置。

此外,它还会改变大量工作下的布局,因为您需要重新测试并确保点击点匹配。

答案 2 :(得分:0)

你真的需要创建一个带有按钮的透明视图,还是只需要按钮?如果对按钮使用绝对定位和zIndex,并且将包含视图设置为layout =“composite”,则不需要透明视图。

例如,以下代码在其上创建了带有图标覆盖(或按钮或任何您想要的)的图像视图(全宽):

CheckComboBox

图标是绝对定位的,并为其分配了一个点击处理程序:

<Alloy>
   <Window class="container">
       <View layout="composite">
           <View layout="vertical">
               <ImageView id="detailImage" image="/car.png" />
           </View>
           <ImageView id="backToMenu" image="menu.png" />
       </View>

它工作顺利,我仍然可以点击下面的图片(除了图标被渲染的地方)。