我试图创建一个活动,一旦有人在屏幕中间点击(并保持)按钮图像,便会更改背景。一旦按钮被释放,应用程序将切换回正常的背景。如何感知是否有人点击了Android中的区域?
到目前为止,我已经尝试在“区域”前面放置一个按钮来按下并将其可见性设置为隐形。
有没有更好的方式来做到这一点?有没有办法来感知人放开按钮? (例如,在按下按钮做一些东西,当释放按钮做其他的东西)
感谢
我试图创建一个活动,一旦有人在屏幕中间点击(并保持)按钮图像,便会更改背景。一旦按钮被释放,应用程序将切换回正常的背景。如何感知是否有人点击了Android中的区域?
到目前为止,我已经尝试在“区域”前面放置一个按钮来按下并将其可见性设置为隐形。
有没有更好的方式来做到这一点?有没有办法来感知人放开按钮? (例如,在按下按钮做一些东西,当释放按钮做其他的东西)
感谢
你想要类似NumberPickerButton和NumberPicker。
您应该在按钮上长按(setLongClickable(true))。 然后响应onLongClick事件和onTouchEvent,如果操作已启动。
你的事件处理程序应该是这个样子:
public boolean onLongClick(View v) {
changeYourBackground();
return true;
}
public boolean onTouchEvent(MotionEvent event) {
if ((event.getAction() == MotionEvent.ACTION_CANCEL)
|| (event.getAction() == MotionEvent.ACTION_UP)) {
putYourBackgroundBack();
}
return super.onTouchEvent(event);
}
你想通过保持一些观点在中间或空白UI执行该操作
关于正确的声音,但我想他可能只想实现onTouchEvent(MotionEvent事件),并且如果它是MotionEvent.ACTION_DOWN,则执行changeYourBackground()。这将使图像立即改变,而不是在长时间点击延迟之后。 –
如果他想让图片在触摸时改变,那么您必须按照您所描述的方式进行操作。 –
你可以做到这一点使用canvas.In的是,你可以拍摄图像显示在画布和捕捉的中间区域上的触摸事件,图像覆盖。当用户触摸该区域时,更改画布的背景颜色。
我认为他需要触摸时发生变化,并在未按下时恢复原始状态。您可以使用onTouch侦听器来处理ontouch和onrelease两个事件。应该工作正常,不知道确切的android代码。 –
..? –