在我的应用程序中,当单击并按住某个图像按钮时,我必须能够计算按住该图像按钮的时间。有谁能给我一些简单的指导或示例代码吗?我真的被困在这里了。对于这个特殊的需求是否有特定的事件监听器。我写这个应用程序专门为触摸屏手机。

最佳答案

您要使用的是:

OnTouchListener touchListener = new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();
        Log.d(LOG_TAG, "Action is: " + action);

        switch (action){
        case MotionEvent.ACTION_DOWN:
            timeAtDown = SystemClock.elapsedRealtime();
            break;

        case MotionEvent.ACTION_UP:
            long durationOfTouch = SystemClock.elapsedRealtime() - timeAtDown;
            Log.d(LOG_TAG, "Touch event lasted " + durationOfTouch + " milliseconds.");
            break;
        }
        return false;
    }

};

button.setOnTouchListener(touchListener);

timeatdown是一个定义为类字段的long,因为它需要在对touchstener的调用之间保持。使用它,您也不会干扰按钮的正常操作;您可以设置一个单击侦听器,它将正常工作。注意:“点击”操作在触摸事件的操作从“向下”(或“向上”)变为“向上”之前不会发生。

关于android - 我应该为我的android应用程序使用什么 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2943293/

10-12 00:28
查看更多