第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于先雙擊后單擊

如果先雙擊了,然后在動(dòng)畫執(zhí)行過程當(dāng)中又單擊了,會(huì)怎么樣呢?

正在回答

3 回答

class?DoubleTapRunnable?implements?Runnable{
????@Override
????public?void?run()?{
????????currentProgress++;
????????if(currentProgress?<=?progress)?{
????????????invalidate();
????????????handler.postDelayed(doubleTapRunnable,50);
????????}?else?{
????????????handler.removeCallbacks(doubleTapRunnable);
????????????currentProgress?=?0;
????????}
????}
}

假如在雙擊的執(zhí)行動(dòng)畫中單擊,currentProgress在單擊事件中被賦值為50,而此時(shí)雙擊線程DoubleTapRunnable還未結(jié)束會(huì)進(jìn)入到if(currentProgress <= progress)重繪一次,50ms后進(jìn)入下一次雙擊線程,此時(shí)進(jìn)入else塊,雙擊線程的回調(diào)被remove,而currentProgress也被賦值為0。單擊線程中又會(huì)調(diào)用invalidate();進(jìn)行重繪,導(dǎo)致單擊動(dòng)畫只有剛剛進(jìn)入的一瞬間進(jìn)度為50,而余下的絕大部分時(shí)間進(jìn)度都為0

? ? ? ? 至于為什么雙擊動(dòng)畫結(jié)束后再單擊不會(huì)出現(xiàn)這樣的BUG

雙擊結(jié)束后會(huì)執(zhí)行雙擊線程中else塊中的這兩個(gè)語句

handler.removeCallbacks(doubleTapRunnable);
? ? ? ? ? ?currentProgress = 0;

此時(shí)雙擊線程的回調(diào)已被移除(remove),然后單擊為currentProgress賦值為50,動(dòng)畫是正常的


總的來說就是雙擊和單擊這兩個(gè)線程的執(zhí)行時(shí)間和順序的問題。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

全是甘貨 提問者

非常感謝!
2017-10-16 回復(fù) 有任何疑惑可以回復(fù)我~

大贊!邏輯清晰了許多!

ezqczrtlqkmijhfk

0 回復(fù) 有任何疑惑可以回復(fù)我~

一起努力呢

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
360加速球核心效果實(shí)現(xiàn)
  • 參與學(xué)習(xí)       17952    人
  • 解答問題       20    個(gè)

Android開發(fā)仿360加速球核心效果,助小伙伴進(jìn)階,學(xué)習(xí)之后收獲滿滿

進(jìn)入課程

關(guān)于先雙擊后單擊

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)