ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
m onDown() – เกิดขึ้นเมื่อมีการสัมผัสจอภาพ<br />
m onFling() – เกิดขึ้นเมื่อมีการสัมผัสจอภาพและลาก<br />
m onLongPress() – เกิดขึ้นเมื่อมีการสัมผัสจอภาพค้างไว้<br />
m onScroll() – เกิดขึ้นเมื่อมีการลากนิ้ว เพื่อเลื่อนออบเจ็กต์ต่างๆ<br />
m onShowPress() – เกิดขึ้นเมื่อมีการสัมผัสจอภาพ แต่ยังไม่มีการลากหรือปล่อยนิ้ว<br />
m onSingleTapUp() – เกิดขึ้นเมื่อมีการปล่อยนิ้ว<br />
131<br />
ถ้าต้องการตรวจจับอีเวนต์เพียงอีเวนต์เดียว ก็ให้ใช้คลาส SimpleOnGestureListener<br />
เพื่อสร้างการตรวจจับดังกล่าวขึ้นมา ซึ่งอีเวนต์ที่เหลือที่ไม่ได้ใช้งานจะส่งค่ากลับเป็น false<br />
อีเวนต์ onFling() จะประกอบด้วยเหตุการณ์ 2 อย่าง คือ การสัมผัสจอภาพ (MotionEvent<br />
อันแรก) และการปล่อยนิ้ว (MotionEvent อันที่ 2) โดยที่แต่ละการสัมผัสที่เกิดขึ้นกับจอนั้นจะส่งค่า<br />
กลับออกมาเป็นค่าคู่อันดับ (x,y) ซึ่ง x จะแทนแกนตำแหน่งแนวนอน และ y จะแทนแกนตำแหน่ง<br />
แนวตั้ง<br />
ชุดคำสั่งที่ 5.11 จะแสดงแอคทิวิตี้ที่ใช้เมธอด onFling() โดยจะตรวจจับเมื่อมีการเคลื่อนไหว<br />
ของการสัมผัสมากพอ (ในที่นี้กำหนดไว้ที่ 60 พิกเซล) และเมื่อเกิดเหตุการณ์ตรงกับที่กำหนดไว้ ก็จะ<br />
แสดงข้อความขึ้นบนจอ<br />
ชุดคำสั่งที่ 5.11 src/com/cookbook/fling_ex/FlingExample.java<br />
การสร้างและการตรวจจับอีเวนต์<br />
package com.cookbook.fling_ex;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.GestureDetector;<br />
import android.view.MotionEvent;<br />
import android.view.GestureDetector.SimpleOnGestureListener;<br />
import android.widget.TextView;<br />
public class FlingExample extends Activity {<br />
private static final int LARGE_MOVE = 60;<br />
private GestureDetector gestureDetector;<br />
TextView tv;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
tv = (TextView) findViewById(R.id.text_result);<br />
gestureDetector = new GestureDetector(this,<br />
new SimpleOnGestureListener() {<br />
@Override<br />
public boolean onFling(MotionEvent e1, MotionEvent e2,<br />
float velocityX, float velocityY) {