我在自定義Dialog里實(shí)現(xiàn)了一個(gè)方法setAnim(),可以用來加載進(jìn)入和消失的動(dòng)畫,實(shí)現(xiàn)如下:public?void?setAnim(int?aniXml){
????WindowManager.LayoutParams?lp?=?getWindow().getAttributes();
????lp.windowAnimations?=?aniXml;
????getWindow().setAttributes(lp);
}在Activity中使用該Dialog時(shí)設(shè)置了一個(gè)動(dòng)畫文件:addBillDialog.setAnim(R.style.MyAnim_FromBottom);此動(dòng)畫文件可以正常生效。在Dialog內(nèi)有一個(gè)按鈕實(shí)現(xiàn)了點(diǎn)擊監(jiān)聽,case塊如下:case?R.id.tv_outlay:
????setAnim(R.style.MyAnim_TRIM);
????dismiss();
????break;測(cè)試發(fā)現(xiàn),點(diǎn)擊此按鈕時(shí),消失動(dòng)畫并非設(shè)置的R.style.MyAnim_TRIM,而是Activity中設(shè)置的R.style.MyAnim_FromBottom。將case塊內(nèi)的dismiss()注釋掉,點(diǎn)擊后通過其他方式讓Dialog消失,比如點(diǎn)擊空白處,此時(shí)的消失動(dòng)畫為點(diǎn)擊事件里設(shè)置的TRIM,修改成功。請(qǐng)問,為什么這個(gè)動(dòng)畫文件沒有立即生效?如果想要立即生效,應(yīng)該怎樣做?
- 0 回答
- 0 關(guān)注
- 1335 瀏覽
添加回答
舉報(bào)
0/150
提交
取消