Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按下按钮时,Android会执行一些操作_Java_Android - Fatal编程技术网

Java 按下按钮时,Android会执行一些操作

Java 按下按钮时,Android会执行一些操作,java,android,Java,Android,我想在按下按钮时旋转对象,在按下按钮时停止旋转 我试着用ontouch listener上的来做这件事,但似乎没有办法确定按钮是否仍然按下例如,我第一次触摸按钮时,会触发第一次触摸事件,并按下动作,但如果我保持手指不动,则不会发生任何事情(不再发生事件)。或者,如果我移动速度非常快,则触摸事件动作的移动速度会有所不同。取决于手指移动速度的不同速度对于我的任务来说是不可接受的。因此,我决定在提升动作时启动定时器(以固定速度旋转),并在提升动作时取消定时器任务,就像我需要的一样。但我认为这不是最好的

我想在按下按钮时旋转对象,在按下按钮时停止旋转

我试着用ontouch listener上的来做这件事,但似乎没有办法确定按钮是否仍然按下
例如,我第一次触摸按钮时,会触发第一次触摸事件,并按下动作
,但如果我保持手指不动,则不会发生任何事情(不再发生事件)。或者,如果我移动速度非常快,则触摸事件动作的移动速度会有所不同。取决于手指移动速度的不同速度对于我的任务来说是不可接受的。因此,我决定在提升动作时启动定时器(以固定速度旋转),并在提升动作时取消定时器任务,就像我需要的一样。但我认为这不是最好的解决方案,甚至不是最坏的。请给我一个其他可能的解决方案的建议。

你使用计时器的解决方案很好,这也是你应该做的。
如果正在运行动画,则不能依赖UI事件,必须有单独的线程或计时器进行定期更新。

使用计时器是一种好方法。据我所知,我认为使用简单的if-else可以更有效地解决您的问题。比如说,

boolean state = true;
if(state)
{
 // do the code for ACTION_DOWN
}
else
{
 // do the code for ACTION_UP
state = true;
}

给这个if语句一个循环,你想循环多少次就循环多少次。但我不知道这个解决方案是否满足您的要求

为什么不使用android动画来旋转对象?点击一个按钮就可以很容易地开始和结束旋转。