كيفية اكتشاف النقرات الطويلة في Android باستخدام OpenGL-ES
لاكتشاف متى يضغط المستخدم على السطح الذي يتم عرضه بواسطة OpenGL-ES التطبيق، عادةً ما يستخدم المطورون طريقة onTouchEvent (حدث MotionEvent). ومع ذلك، لا تحتوي هذه الطريقة على وظيفة مضمنة لاكتشاف النقرات الطويلة.
تتمثل إحدى الطرق في التسجيل في حدث ACTION_DOWN. بعد ذلك، في onTouchEvent، قم بجدولة Runnable ليتم تشغيله بعد تأخير زمني معين. إذا تم إلغاء Runnable قبل تشغيله، بسبب حدث ACTION_UP أو ACTION_MOVE، فهذا يشير إلى أن المستخدم لم يقم بنقرة طويلة.
بدلاً من ذلك، يوفر Android حلاً أكثر تعقيدًا: GestureDetector، والذي يمكن استخدامه لاكتشاف مجموعة متنوعة من الإيماءات، بما في ذلك النقرات الطويلة.
استخدام GestureDetector
لاستخدام GestureDetector، اتبع الخطوات التالية:
class MyActivity : AppCompatActivity() {
private lateinit var gestureDetector: GestureDetector
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
gestureDetector = GestureDetector(this, LongClickListener())
}
override fun onTouchEvent(event: MotionEvent): Boolean {
gestureDetector.onTouchEvent(event)
return super.onTouchEvent(event)
}
inner class LongClickListener : OnGestureListener {
override fun onLongPress(e: MotionEvent?) {
// Handle long click here.
}
// Implement other gesture methods as needed.
}
}
باستخدام GestureDetector، يمكنك بسهولة اكتشاف النقرات الطويلة في تطبيقات OpenGL-ES. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3