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