2011-02-05 17 views
2


我發現我的活動牆紙似乎沒有收到ACTION_MOVE事件時CPU最大。但是,它仍然收到ACTION_DOWN和ACTION_UP事件。沒有收到ACTION_MOVE事件的動態壁紙?

我已經設置了一個最小化的eclipse項目來演示。菜單 - >配置允許您切換幀速率上限。

http://www.mediafire.com/file/m7v0czmovtatuu1/TouchTest.zip

有沒有其他人遇到這種或有一個解釋,爲什麼?

編輯:我自從發現這隻發生在薑餅。但是,仍然沒有解決方案

回答

1

我不能看着你的來源,因爲該文件已不存在,但你應該嘗試:

@Override 
     public boolean onTouchEvent(MotionEvent event) { 

       if(event.getAction() == MotionEvent.ACTION_DOWN){ 
         // your touch down code 
         return true; 
       }else if(event.getAction() == MotionEvent.ACTION_MOVE){ 
         //your touch move code 
       }else if(event.getAction() == MotionEvent.ACTION_UP){ 
         //your touch up code 
         return super.onTouchEvent(event); 
       } 
       return super.onTouchEvent(event); 
     } 
+0

嗨,這與其他帳戶的OP。不幸的是,這不是一個解決方案,因爲當時在該方法中沒有收到任何類型的MotionEvent。此外,壁紙服務中的onTouchEvent()方法沒有返回類型,所以無法返回'true'來指定服務將處理像普通觸摸處理程序這樣的後續事件。 :( – 2011-07-28 03:46:32