20.11.2016 Views

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) {

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!