长按后按下按钮时继续执行操作

Keep on doing an action while button is pressed after long click

抱歉,如果标题没有意义。我想要完成的是能够长按一个按钮,一旦检测到长按,继续执行特定任务。

具体来说,我有一个视图,其背景在单击时会更改为随机颜色。只要我长按按钮,我想让背景不断改变颜色。所以,基本上,长按并按住按钮,背景会不断变化。

非常感谢大家:)

这对于 view.setOnLongClickListener() 是不可能的,因为 OnLongClickListener 具有非常特殊的运作方式。一旦经过足够的时间,侦听器就会激活,代码为 运行。

你想要的是使用view.setOnTouchListener()。这样您就可以在检测到 MotionEvent.ACTION_DOWN 时设置定时器。一旦计时器足够长以等于长按,您可以让它重复触发您的颜色更改代码,直到 OnTouchListener 检测到 MotionEvent.ACTION_UP。这时候你就可以停止变色代码了。