تشخیص Double Tap در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش تشخیص Double Tap در برنامه نویسی اندروید می پردازیم منظور از Double Tap یعنی تشخیص دهیم که کاربر دوبار بروی صفحه کلیک کرده باشید اگر لایک Instagram را به خاطر بیاورید درصورتی که بخواهید یک عکس / ویدیو را لایک کنید باید دوبار بروی آن کلیک در ادامه با ما همراه باشید.
ابتدا وارد layout خود شده کد زیر را در آن قرار دهید (نیازی به قرار دادن چیزی نیست ولی کد را قرار دادیم تا بهتر متوجه شوید) نام Layout ما برابر با
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="#FFF3E0" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Programchi.ir" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:gravity="center" android:textSize="25dp" android:textColor="#000000"/> </RelativeLayout> |
سپس کد مربوط به MainActivity.java هم همانند زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package ir.programchi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.GestureDetector; import android.view.MotionEvent; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { GestureDetector gestureDetector; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gestureDetector = new GestureDetector(MainActivity.this, MainActivity.this); } @Override public boolean onTouchEvent(MotionEvent event){ this.gestureDetector.onTouchEvent(event); return super.onTouchEvent(event); } @Override public boolean onDown(MotionEvent event) { return true; } @Override public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { return false; } @Override public void onLongPress(MotionEvent event) { } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onShowPress(MotionEvent event) { } @Override public boolean onSingleTapUp(MotionEvent event) { return false; } @Override public boolean onDoubleTap(MotionEvent event) { Toast.makeText(MainActivity.this, "Double Tap on Screen is Working.", Toast.LENGTH_LONG).show(); return true; } @Override public boolean onDoubleTapEvent(MotionEvent event) { return true; } @Override public boolean onSingleTapConfirmed(MotionEvent event) { return false; } } |
برای اینکه بررسی کنیم کاربر بروی صفحه دوبار کلیک کرده است از GestureDetector استفاده کردیم در بالا شما void های مختلفی را می بینید برای اینکه Double Tap را بررسی کنیم در void مربوطه آن یک Toast قرار داده ایم همانطور که مشاهده می کنید مقدار های مختلفی که به آنها Event گفته می شود در کد بالا قرار داده شده است هر کدام برای انجام کاری خاصی استفاده می شوند.
این آموزش هم به پایان رسید.
موفق و موید باشید.