【发布时间】:2020-06-29 13:17:44
【问题描述】:
出于研究目的,我正在开发一个原生 Android 应用程序(使用 Java),它允许走动康复后的老年患者记录营养日记。
由于目标群体的年龄较大,必须考虑到用户的手在颤抖。
我避免“意外”输入的方法: 是否存在某种全局设置来定义两个触摸输入之间的“最短时间”?如果此时间不足,则应用仅执行第一个输入并忽略此时间范围内的其他输入。
当然,我对其他方法和想法持开放态度。也许Android本身为震颤的人提供输入帮助?到目前为止,我找不到任何可以帮助我解决这个话题的东西。
为了让您了解情况: 用户点击一个按钮。这会导致 UI 发生变化,并且新按钮会出现在用户单击的完全相同的位置。此按钮不应直接“可点击”。但当然,其他位置的按钮也不应该直接做出反应。
【问题讨论】:
-
你将如何确定这是一次无意的接触?
-
我的观点是你有两个按钮,它们彼此靠近。如果用户尝试单击第一个按钮但单击了第二个按钮。您要处理这种情况?
-
当一个按钮被点击时,记住它被点击的时间(
System.currentTimeMillis()),设置一个最终的“noClickWithinThisAmountOfMS”并在按钮的onClickListeners中执行一个简单的检查:if((newTime - oldTime) > noClickWithinThisAmountOfMS),然后不要忽略点击。 -
@HappySingh 你是对的。我不能肯定,这些输入是无意的,但这是我的第一种方法。场景与您描述的有点不同。用户单击一个按钮,UI 刷新,并且在用户单击的完全相同的位置将是一个新按钮,不应意外按下该按钮。