在我的nativescript应用程序中,我注意到有时水龙头不能正确触发。我必须多次点击才能触发事件。这发生在android和ios上。
如何增加水龙头热区?还有什么可能导致这种情况发生?
谢谢。
P.S。我尝试增加我正在捕捉其敲击事件的元素的填充,但这似乎没有帮助。
答案 0 :(得分:3)
我经常会增加包含点击事件的视图的height
和width
。你可以尝试一下。
答案 1 :(得分:1)
这里有几个因素在起作用。
首先,当您在NativeScript中拦截页面级事件时,它似乎会阻止来自其他窗口小部件的事件触发。例如,如果您点击文本字段但具有点击事件的页面级侦听器,则页面级侦听器将拦截TextField上的点击。
其次,Double-tap似乎利用了事件中的计时问题,允许点击事件冒泡到下一个侦听小部件。
最后,当您尝试点击的元素上有填充时,点击不会在填充区域上注册。看起来您只能点击小部件的中间(填充区域内)。在我的情况下,我填充的TextField必须直接在垂直中心点击(并且填充为5px)。
要测试它,请尝试从元素中删除填充,然后再次查看点击是否正常。
通过执行以下操作,我能够通过软件键盘创建非常流畅/自然的体验:
ex:XML文件
<StackLayout id="loginFieldWrapper" padding="5 5 5 5">
<TextView hint="Enter Login ID" id="loginField" keyboardType="number" returnKeyType="done" returnPress="{{hideKeyboard}}" />
</StackLayout>
支持javascript文件
loginField.on(gestures.GestureTypes.tap, function(args) {
page.on(gestures.GestureTypes.tap, function (args) {
loginField.dismissSoftInput();
page.off(gestures.GestureTypes.tap);
});
});
答案 2 :(得分:1)
将项目包裹在某些布局中以增加可点击区域
star_xp %>% sprintf("review-rating-header seat_comfort") %>%
html_node(x = tbl, xpath = .) %>% html_text
# [1] NA "4" "5" "3" "3" "1" "4" "4" "3" "3" "3"