在action_down MotionEvent上定时显示图形按钮

时间:2014-02-13 13:05:12

标签: java android motionevent

所以我花了很长时间来寻找是否有解决方案。基本上,下面的代码允许我按下按钮,当我按下(action_down)按钮的“按下版本”显示良好时,然后当我移开手指时图形恢复正常(action_up)。

这部分工作正常但是我需要ACTION_DOWN在用户按下按钮后保持活动一段时间并且不会如此快地返回ACTION_UP。我可以看到很多不同的人提出这个问题,但没有关于编辑action_up或action_down部分的答案。我认为必须有一些简单的方法来实现这个目标。

当前代码:

@Override
public boolean onTouch(View v, MotionEvent event) {
    if (MotionEvent.ACTION_DOWN == event.getAction()) {
        int img = Integer.parseInt(v.getTag(R.id.tag_press_down_img).toString());
        if (v instanceof ImageView) {
            ((ImageView) v).setImageResource(img);
        }

    } else if (MotionEvent.ACTION_UP == event.getAction()) {
        int img = Integer.parseInt(v.getTag(R.id.tag_press_up_img).toString());
        if (v instanceof ImageView) {
            ((ImageView) v).setImageResource(img);
        }
    }
    return false;
}

(此代码工作正常,但用户体验不好,因为按钮在释放后恢复到ACTION_UP太快(立即) - 我希望ACTION_DOWN为1)显示1-2秒然后恢复为ACTION_UP或2)保持在action_down直到被叫事件完成 - 在这种情况下加载另一个屏幕。)

谢谢!

0 个答案:

没有答案