Java Android开发-OnTouchListener-如何使用?
我想知道一个人如何使用Java Android开发-OnTouchListener-如何使用?,java,android,ontouchlistener,Java,Android,Ontouchlistener,我想知道一个人如何使用OnTouchListener。(我正在使用Android Studio。) 这是我的代码,当我按下“振动”按钮时,按钮图像不会变为按下状态: vibrateButton = (Button) findViewById(R.id.button_vibrate); vibrationInstance = (Vibrator) getSystemService(this.VIBRATOR_SERVICE); vibrateButtonPressed = fals
OnTouchListener
。(我正在使用Android Studio。)
这是我的代码,当我按下“振动”按钮时,按钮图像不会变为按下状态:
vibrateButton = (Button) findViewById(R.id.button_vibrate);
vibrationInstance = (Vibrator) getSystemService(this.VIBRATOR_SERVICE);
vibrateButtonPressed = false;
if (!(vibrationInstance.hasVibrator())) {
vibrateButton.setEnabled(false);
}
vibrateButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_UP){
vibrationInstance.cancel();
}
if(motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
vibrationInstance.vibrate(vibrationPattern, 0);
}
return false;
}
});
这就是使用
OnTouchListener
的方式,以及返回false的必要性代码>?谢谢 我猜您的应用程序正在崩溃,因为您忘记将权限添加到清单文件。确保它在里面:
顺便说一句,如果您想接收视图中发生的所有触摸事件,您应该在OnTouchListener
中返回true
,我想您的应用程序正在崩溃,因为您忘了将权限添加到清单文件中。确保它在里面:
顺便说一句,如果您想接收视图中发生的所有触摸事件,您应该在OnTouchListener
中返回true
,这是使用OnTouchListener
的一种方法。至于return false
-该方法被声明为返回一个布尔值(表示侦听器是否已使用该事件)。但这会使我的应用程序崩溃。。。那么语法正确吗?在问题中补充说它会使我的应用程序崩溃。那么日志是什么样子的呢?这里应该有一个异常,这将解释它崩溃的原因。这是使用OnTouchListener
的一种方法。至于return false
-该方法被声明为返回一个布尔值(表示侦听器是否已使用该事件)。但这会使我的应用程序崩溃。。。那么语法正确吗?在问题中补充说它会使我的应用程序崩溃。那么日志是什么样子的呢?应该有一个例外,这可以解释为什么它会崩溃。它不工作。它阻止了它的撞击,但没有使它震动(return true
就像我在回答中说的那样。它只会在按下时震动,因为你只调用了rimble
那么动作就是MotionEvent。动作向下
它不起作用。它阻止了它崩溃,但没有使它震动(return true
就像我在回答中说的那样。它只会在按下时震动,因为你只调用strimb
那么动作就是MotionEvent。动作向下