发布我的产品后,我开始收到一些抱怨,说某些手机的某个屏幕不工作。经过大量研究和尝试解决这个问题,我发现由热量而非压力控制的手机存在这个问题。不幸的是,我只发现了问题。正在发生的是,鼠标向上和鼠标移动的运动事件似乎是相同的运动。以下是我的代码的工作原理:
if(event.getAction()==MotionEvent.ACTION_MOVE)
{
lockdown=true;
}
else if(event.getAction()==MotionEvent.ACTION_UP && lockdown==false)
{
...
}
else if(event.getAction()==MotionEvent.ACTION_UP)
{
...
lockdown=false;
}
这个代码适用于像我这样的压力触摸手机。它的设计是,当触摸被拖动时,某些东西将不起作用。我真的需要一些关于如何解决这个问题的见解。
在与我的测试人员来回奔波了一个令人兴奋的夜晚之后,这就是我提出的
// somewhere in the prior code a pressure sample is needed
public float dwnPressure
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
dwnPressure=float(event.getPressure()*0.99)
}
回到我遇到问题的代码
if(event.getAction()==MotionEvent.ACTION_MOVE)
{
if(event.getPressure>dwnPressure)
{
lockdown=true;
}
}
else if(event.getAction()==MotionEvent.ACTION_UP && lockdown==false)
{
...
}
else if(event.getAction()==MotionEvent.ACTION_UP)
{
...
lockdown=false;
}
这一变化在之前出现问题的一些手机上非常有效。有些手机的性能有了显著的提高,但有点挑剔。我想,即使不是100%,我也应该分享我的辛勤工作,因为这个问题的回答速度没有我过去在stackoverflow 上那么快