在我的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