کار با مولتی تاچ(Multitouch) در اندروید

تعریف مولتی تاچ Multitouch

در اندروید امکان اینکه ما بتوانیم هم زمان با چند انگشت در قسمتهای مختلف کلیک کنیم . وجود دارد این امکان در بازی سازی خیلی کاربرد دارد. یا زمانی که می خواهیم بر روی صفحه زوم کنیم . یا یک عکس را بزرگنمایی کنیم.

 

رویداد‌هایی که در multitouch اندروید رخ می‌دهند

زمانی که چند انگشت با هم صفحه‌ی نمایشگر را لمس کنند، اندروید این رویداد‌ها را انجام می‌دهد.

ACTION_DOWN  : با اولین لمس فعالسازی می شود.

ACTION_POINTER_DOWN : با دیگر لمس ها فعالسازی می شود.

ACTION_MOVE : زمانیکه تغییزی در فشار دادن اتفاق می افتد.

ACTION_POINTER_UP : زمانیکه یکی از لمس های ثانویه بالا می رود اتفاق می افتد.

ACTION_UP : زمانیکه آخرین لمس از صفحه خارج می شود اتفاق می افتد.

 

بنابراین برای شناسایی هر کدام از رویداد‌های بالا باید روش ()onTouchEvent را کنار گذاشته و این رویداد‌ها را به طور دستی چک کنید. سینتکس آن در این جا قرار داده شده است:

روش‌های کارکردن با multi touch اندروید

علاوه بر این روش‌ها، روش‌های دیگری نیز برای کارکردن بهتر با مولتی تاچ اندروید وجود دارند. این روش‌ها عبارت اند از:

()getAction این روش عمل انجام شده را باز می گرداند.
() getPressureاین روش تماس اولیه را برای مورد ضمیمه شده باز می گرداند.
() getRawXاین روش بردار ایکس اصلی را هماهنگ می سازد.
()getRawY این روش بردار ایگرگ اصلی را هماهنگ می سازد.
()getSize این روش اندازه را به حالت اندازه اولیه برای مورد ضمیمه شده در می آورد.
()getSource این روش منبع عمل را در دسترس قرار می دهد.
() getXPrecisionاین روش دقت هماهنگی بردار ایکس را که گزارش داده شده است باز می گرداند.
() getYPrecisionاین روش دقت هماهنگی بردار ایگرگ را که گزارش داده شده است باز می گرداند.
مثال
برای بهتر فهمیدن موضوع یک برنامه ایجاد می کنیم و در ان مولتی تاج رو توضیح میدیم.
ابتدا جهار تا تکست ویو به اکتیویتی اضافه میکنیم.
MainActivity.xml

حال در بخش جاوا کدهای زیر را وارد کنید :

ما از دو خاصیت ACTION_MOVE و ACTION_DOWN استفاده می کنیم .

با اجرا برنامه و با کلیک در صفحه مقدار عددی ان در dx2,dy2 نمایش داده می شود . و اگر انگشتمان در در صفحه حرکت دهیم ACTION_MOVE اجرا شده و مقدار آن در dx,dy نمایش داده و تغییر می یابد.

مطالعه بیشتر :

 

مطالعه بیشتر