android onTouchEvent。不同android版本上的不同行为
我有一些简单的活动:android onTouchEvent。不同android版本上的不同行为,android,touch-event,Android,Touch Event,我有一些简单的活动: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override publi
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("Event: ", event.getAction() + "");
return super.onTouchEvent(event);
}
}
当我在屏幕上单击tab(只需将手指放在屏幕上,不移动)时,将调用onTouchEvent,但在android v4(4.2.2或4.4.2)和v5(5.1)上的结果不同
Android 5.1上的:事件:0//这意味着操作已停止 安卓4(4.2.2/4.4.2):
事件:0
事件:2
事件:2
事件:2
...
事件:2
事件:2
...
所以,动作下降,很多动作移动 我真的不明白为什么会这样。我应该覆盖一些附加的方法吗 已更新
屏幕上的选项卡。结果:
.0. (X,Y):291.4858500.48877
2.(X,Y):289.98328498.9873
2.(X,Y):290.4841349834665
2.(X,Y):290.48413499.50812
2.(X,Y):289.15115499.4878
2.(X,Y):287.6314499.4878
2.(X,Y):286.37064999.4878
...
.0. (X,Y):528.5714813.4286
停止。这里什么也没发生。我做了一个小小的手指移动:
2.(X,Y):537.51135816.00323
2.(X,Y):538.3928814.7871
2.(X,Y):538.3928813.8571
2.(X,Y):538.866813.4286
2.(X,Y):539.7322813.4286
...
至于我,Nexus7的效果更好。更符合逻辑。有趣的是,在三星Galaxy Tab 3上是否有可能获得类似的结果?顺便说一句,同样的结果也出现在三星的其他设备上:GalaxyTab 4和智能手机S4。也许这是三星设备的问题。。Hm可能只是触摸传感器的灵敏度不同。即使你没有故意移动手指,你也会有微小的移动和压力变化,这会导致电容的差异。不同的硬件会对电容的差异做出不同的解释,一些触摸屏会认为你做了一点小动作,而其他触摸屏则不会。物理硬件并不总是像软件一样精确 这是预期的行为,随后的移动调用是您的手指“不确定”保持停止。可能是触摸驱动程序问题,您正在测试什么设备,以及移动时每个点的X和Y值是多少。