单击内部视图元素时,波纹效果不起作用(Android Appcelerator)

时间:2017-09-26 08:44:52

标签: javascript android titanium appcelerator

https://gyazo.com/7ffd965136f18e44aa87c591e3b90ed9

正如您在我提供的链接中所看到的,当我点击我在View中的Label或ImageView时,涟漪效果不起作用。我该如何解决这个问题?

我在6.1.2GA和6.2.2GA SDK中都遇到了这个问题

这是我的XML文件:

<CardView id="selectCard">
    <View layout='horizontal' backgroundColor="#fafafa" touchFeedback="true" touchFeedbackColor="#808080">
        <ImageView class="icons" id="locationIcon" image="/icons/address.png" top="8dp" bottom="8dp" left="16dp" />
        <Label class="titleLabel smallText" text="L('selectInMap')"  />
    </View>
</CardView>

我尝试删除CardView中的View,然后将touchFeedback和touchFeedbackColor属性设置为CardView,但后来我看不到任何连锁反应

3 个答案:

答案 0 :(得分:6)

如果您不需要知道用户点击的确切元素,我建议您为阻止涟漪效应的UI元素添加touchEnabled="false"

您可以在文档中详细了解它:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Label-property-touchEnabled

答案 1 :(得分:1)

在标签上设置touchEnabled:false,imageview应该修复它

答案 2 :(得分:1)

涟漪效应基本上用于让用户知道此区域是可触摸/可点击的,或者会在触摸/点击时执行某些操作。

正如Rene Pot所回答的,这适用于Android 21+的任何Ti SDK。您甚至可以在Ti.UI.TableView上使用相同的hack,在所有UI元素上设置touchEnabled : false,以便在整行中使用Ripple。

这就是为什么Android在其尺寸上提供带有涟漪效应的按钮的原因相同,因为按钮严格按照触摸/点击执行操作。