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

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

有個(gè)問(wèn)題,一波表情執(zhí)行完后,view還在,導(dǎo)致控件不斷重繪制

EmotionRainView在一波表情執(zhí)行完畢后,onDraw一直空繪制,浪費(fèi)資源。然后由于EmotionRainView全屏布局,沒(méi)法消失,導(dǎo)致界面遮擋。所以最好是表情雨執(zhí)行完畢后,自動(dòng)停止。如下:

將 ondraw方法最后一行?

//重繪
postInvalidate();

改造為:

if(end()){
????LogUtil.i("========運(yùn)行結(jié)束========");
????stopRain();
}else?{
????//重繪
????postInvalidate();
????LogUtil.i("=====重繪=======");
}
end()方法如下:
private?boolean?end(){
????for?(int?i?=?0;?i?<?mEmotionList.size();?i++)?{
????????Emotion?emotion=mEmotionList.get(i);
????????if(emotion.getY()<ScreenUtil.getHeight()){
????????????return?false;
????????}
????}
????return?true;
}

當(dāng)然,在MainActivity的ondestroy方法中依然要執(zhí)行停止方法:

@Override
protected?void?onDestroy()?{
????super.onDestroy();
????if(mEmotionView!=null){
????????mEmotionView.stopRain();
????}
}


正在回答

2 回答

確實(shí)會(huì)有問(wèn)題, 單個(gè)表情的時(shí)候結(jié)束的時(shí)候onDraw會(huì)進(jìn)入return的分支, 不在觸發(fā)postInvalidate方法, 但是多表情的時(shí)候每次都會(huì)觸發(fā)postInvalidate, 表情結(jié)束之后還在調(diào)用onDraw方法。

不過(guò)這里實(shí)現(xiàn)可以簡(jiǎn)單一點(diǎn), 循環(huán)繪制每個(gè)表情的時(shí)候在判斷是否超出邊界的時(shí)候同時(shí)檢測(cè)是不是最后一個(gè)表情, 如果是主動(dòng)stop, 然后return

if?(isOutOfBottomBound(i)){
????if?(i?==?emotions.size()?-?1){
????????stop();
????????return;
????}
????continue;
}


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

for的條件反復(fù)了吧

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

舉報(bào)

0/150
提交
取消
使用ViewPager實(shí)現(xiàn)卡片式問(wèn)答項(xiàng)目(下)
  • 參與學(xué)習(xí)       3183    人
  • 解答問(wèn)題       2    個(gè)

本門課程將帶大家利用ViewPager等技術(shù)實(shí)現(xiàn)卡片式問(wèn)答項(xiàng)目下半部分的學(xué)習(xí)

進(jìn)入課程

有個(gè)問(wèn)題,一波表情執(zhí)行完后,view還在,導(dǎo)致控件不斷重繪制

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

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

幫助反饋 APP下載

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

公眾號(hào)

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