我使用相对布局,背景可绘制为自定义按钮,并使用onClick将通知发送到自定义方法。我试图确保我确切知道用户何时触摸相对视图并在用户停止触摸相对视图时立即更新。
我不确定当用户不再触摸relativelayout时如何通知。有什么想法吗?
答案 0 :(得分:1)
您需要添加OnTouchListener
,然后跟踪用户何时放下手指,以及何时将其选中。取两次的差值来得到总时间。为此,请声明类变量
private Date downTime;
然后删除旧版onClickListener
(您在下方添加此逻辑),将onTouchListener
添加到onCreate
中的视图中:
myView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent e) {
switch(e.getAction()) {
case MotionEvent.ACTION_DOWN :
downTime = new Date();
return true;
case MotionEvent.ACTION_UP :
Date d = new Date();
long clickDuration = d.getTime() - downTime.getTime();//this is the number of milliseconds the user took to click.
//here you should also add your onClick logic.
downTime = null;
return true;
}
return false;
}
});