2012-05-12 24 views
5

को पंजीकृत करना देखें मुझे एक दिलचस्प समस्या है ... कि मुझे समाधान नहीं मिल रहा है। मैं एक ImageView घुमाने के लिए एक ऑब्जेक्टएनिमीटर का उपयोग कर रहा हूँ; लेकिन ऑन टचलिस्टर केवल मोशनवेन्ट.एक्शन_DOWN को पंजीकृत कर रहा है। (मैंने लॉग बिल्लियों से इसे घटाया, मोशनइवेंट.एक्शन_MOVE और मोशनइवेंट.एक्शन_यूपी भी है)।केवल MotionEvent.ACTION_DOWN

मैंने सोचा कि शायद समस्या को सुनने और एक ही समय में एक आवरण को एनिमेट करने की कोशिश करने के साथ करना पड़ा। मैंने एक रिश्तेदार लेआउट में छविदृश्य और एक रैखिक लेआउट (MATCH PARENT पर सेट) को लपेट लिया, और स्पर्श घटनाओं को सुनने के लिए रैखिक लेआउट पंजीकृत किया। रैखिक लेआउट में एक ही समस्या है; केवल MotionEvent.ACTION_UP को संभाला जा रहा है। क्या MotionEvent.ACTION_MOVE पंजीकृत होने के लिए मुझे कुछ करने की ज़रूरत है?

  touch_pad = (LinearLayout) findViewById(R.id.layout_touch_capture); 
    touch_pad.setOnTouchListener(this); 
    touch_pad.requestFocus(); 

      public boolean onTouch(View v, MotionEvent event) { 
    switch(v.getId()) { 
    case (R.id.layout_touch_capture): 

    long end = 0; 
    long start = 0; 
    float y = event.getY(); 
    float y_sum = y; 
    float x = event.getX(); 

    switch(event.getAction()) { 
    case (MotionEvent.ACTION_UP): 
     end = animator.getCurrentPlayTime(); 
    Log.d("WheelActivity", "end location = " + end); 
    break; 
    case (MotionEvent.ACTION_MOVE): 

    Log.d("WheelActivity", "event.getY() = " + y); 
    y_sum += y; 
    animator.setCurrentPlayTime((long) (start + y_sum)); 
    Log.d("WheelActivity", "animator play time = "        animator.getCurrentPlayTime()); 
    Log.d("WheelActivity", "animator fraction = " + 
      animator.getAnimatedFraction()); 

    break; 
    case (MotionEvent.ACTION_DOWN): 
     start = animator.getCurrentPlayTime(); 
    Log.d("WheelActivity", "start location = " + start); 
    break; 
    } 
    } 
    return false; 
} 

(खराब स्वरूपित कोड के बारे में क्षमा करें ...)

उत्तर

12
return false; 

return true;

करने के लिए बदल:

यहाँ मेरी कोड है

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^