是的,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
的文本内容。