我正在尝试以编程方式创建一个视图,并根据其单击状态更改其背景。
我知道我可以用 xml drawables 做到这一点,但我也想学习编程。
但是,如果我按下视图,然后滑动手指,视图就会卡在按下状态。(白色 = 0xaaffffff 背景)
我的代码是这样的:
编辑:
我解决了这个问题。这是工作代码:
mainContainer.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
if (action==MotionEvent.ACTION_DOWN)
{
v.setBackgroundColor(0xaaffffff);
return false;
}
if(action==MotionEvent.ACTION_MOVE)
{
}
if(action==MotionEvent.ACTION_CANCEL)
{
v.setBackgroundColor(0x00ffffff);
}
if (action==MotionEvent.ACTION_UP)
{
v.setBackgroundColor(0x00ffffff);
return true;
}
return false;
}
});
如您所见,我尝试在任何我想onTouch()
再次被调用的地方返回 true。但显然这里有一些我不明白的东西。
我究竟做错了什么 ?
谢谢你的帮助。