تشخیص Double Tap در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش تشخیص Double Tap در برنامه نویسی اندروید می پردازیم منظور از Double Tap یعنی تشخیص دهیم که کاربر دوبار بروی صفحه کلیک کرده باشید اگر لایک Instagram را به خاطر بیاورید درصورتی که بخواهید یک عکس / ویدیو را لایک کنید باید دوبار بروی آن کلیک در ادامه با ما همراه باشید.
ابتدا وارد layout خود شده کد زیر را در آن قرار دهید (نیازی به قرار دادن چیزی نیست ولی کد را قرار دادیم تا بهتر متوجه شوید) نام Layout ما برابر با
<?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 هم همانند زیر می شود.
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 گفته می شود در کد بالا قرار داده شده است هر کدام برای انجام کاری خاصی استفاده می شوند.
این آموزش هم به پایان رسید.
موفق و موید باشید.
آموزش برنامه نویسی اندروید |