我动态创建 View ,我正常处理它们的点击事件,像这样:
myView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setBackgroundColor(0xaaffffff);
}
});
但是这段代码没有处理 onRelease
事件,所以点击后 View 仍然是白色背景。
那么如何在点击状态结束时将背景设置为另一个值呢?
提前致谢!
编辑:
OnTouchListener
做完全相同的事情。我想我需要类似 onReleaseListener
的东西?
最佳答案
为此你需要使用一个onTouchListener
=> documentation
引用这个tutorial关于如何使用它。
例子:
myView.setOnTouchListener(
new View.OnTouchListener() {
public boolean onTouch(View myView, MotionEvent event) {
int action = event.getAction();
if (action==MotionEvent.ACTION_MOVE)
{
myView.setBackgroundColor(Color.BLUE);
}
if (action==MotionEvent.ACTION_UP)
{
myView.setBackgroundColor(Color.RED);
}
if (action==MotionEvent.ACTION_DOWN)
{
myView.setBackgroundColor(Color.YELLOW);
}
// TODO Auto-generated method stub
return true;
}
}
关于android - 如何检测点击事件是否在android中完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931942/