android

android gesturedetector能检测长按吗

小樊
82
2024-11-22 02:11:49
栏目: 编程语言

是的,Android的GestureDetector可以检测长按。要检测长按,您需要设置一个手势监听器并覆盖onLongPress()方法。以下是一个简单的示例:

import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private GestureDetector gestureDetector;
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        gestureDetector = new GestureDetector(this, new GestureListener());
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return gestureDetector.onTouchEvent(event) || super.onTouchEvent(event);
    }

    private class GestureListener extends GestureDetector.SimpleOnGestureListener {

        @Override
        public void onLongPress(MotionEvent e) {
            super.onLongPress(e);
            textView.setText("长按检测到");
        }
    }
}

在这个示例中,我们创建了一个GestureDetector实例并设置了一个自定义的GestureListener。在GestureListener中,我们覆盖了onLongPress()方法,当检测到长按事件时,它会修改TextView的文本内容。

0
看了该问题的人还看了