آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تفاوت متدهای getRawX و getX در کلاس MotionEvent ؟

Reza  10 سال پیش  8 سال پیش
+2 0

سلام ، تفاوت این دو متد چیه ؟

public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                
                float lastDownX1 = event.getRawX();
                float lastDownX2 = event.getX();
                
        }
        return true;
}

هنگامی که روی صفحه Down یا همون کلیک میشه چه مقادیری در lastDownX1 و lastDownX2 ذخیره میشه ؟

البته یه Log نوشتم که مقادیرش رو نشون بده ، دیدم که هر دو مقدار مساویه !! پس فرقشون چیه ؟!

ممنون .

0 0
خیلی مطمئن نیستم ولی گمونم مقدار getRawX از مقدار getX دقیق تر باشه و تو ساخت بازی ها که لازمه محل دقیق تاچ شدن روی صفحه معلوم باشه چون اون مقدار رو تو کد نویسی و محاسبات پیچیده مورد استفاده قرار میدن , پس اگه برای برنامه ای ساده کد میزنید لازم نیست از متد getRawX استفاده بشه ..... (10 سال پیش)
+2 0
متد getX محل تاچ رو نشون میده و getRawX اطلاعات محل تاچ رو بدون دستکاری و تنظیم بر اساس صفحه میده . (10 سال پیش)
0 0
متد getX و getRawX وقتی موشن ایونت داون است یک عدد را میده!!! چون متد getX فاصله عرضی را نسبت به نقطه قبلی میده ینی فقط وقتی موشن ایونت MOVE است بکار میاد که ما میخوایم فاصله طی شده عرضی را بگیریم ولی متد getRawX فاصله عرضی از نقطه صفر را میده ینی از سمت چپ چپ تا اونجایی که هستیم. (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
zavvar  10 سال پیش
+2 0

 پاسخ صحیح

سلام دوست من

تفاوتی که از نظر فنی میشه بین getX و getRawX داشت اینه که:

getRawX مختصات نسبت به صفحه نمایش دستگاه را ارائه میدهد ولی getX مختصات نسبت به Viewی را که در آن قرار دادیم میدهد.

 

اما تفاوت این دو مورد از نظر کاربردی اینه که:

getRawX برای استفاده در طراحی های لمسی پیچیده مشابه بازی های لمسی و getX برای حرکات ساده بکار می رود.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .