在我的nativescript应用程序中,我注意到有时点击不会以正确的方式触发。我必须点击几次触发事件。这发生在android和ios上。Nativerscript点击区域
如何增加水龙头热区?还有什么可能导致这种情况发生?
谢谢。
P.S.我尝试增加我捕捉的点击事件的元素的填充,但这似乎没有帮助。
在我的nativescript应用程序中,我注意到有时点击不会以正确的方式触发。我必须点击几次触发事件。这发生在android和ios上。Nativerscript点击区域
如何增加水龙头热区?还有什么可能导致这种情况发生?
谢谢。
P.S.我尝试增加我捕捉的点击事件的元素的填充,但这似乎没有帮助。
这里有几个因素。
首先,当您在NativeScript中截取页面级事件时,它似乎会停止其他小部件发出的事件。例如,如果您点击一个文本字段,但具有一个页面级侦听器,轻击事件,那么TextField上的点击将被页面级侦听器拦截。第二,双击似乎利用事件中的时间问题,允许轻敲事件冒泡到下一个监听小部件。
最后,当您尝试点击的元素上有填充时,轻击不会在填充区域上注册。它会出现,你只能点击小部件的中间(填充区域内)。在我的情况下,我填充的TextField必须直接在垂直中心轻敲(并且填充5px)。
要测试它,请尝试从元素中删除填充并查看是否再次正常工作。
我可以通过以下操作来创建软件键盘非常流畅/自然的体验:在StackLayout
例如: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);
});
});
我经常增加具有轻击事件的视图的height
和width
。你可以试试看。
总结一些布局内的项目,以增加点击区域
<StackLayout (tap)="select(param)">
<Label text="{{description}}" textWrap="true" marginTop="40px" marginBottom="40px">
</Label>
</StackLayout>
感谢Dihn,让我试试看。 – dpdragnev
如果这对你有用,请一定要报告,我一直有类似的问题 –
尺寸的增加并没有帮助。正如我在更新中提到的那样。我甚至尝试增加视图的填充,没有区别。 – dpdragnev