自定义Dialog,在点击事件里通过LayoutParams改变动画为什么没有立即生效?
我在自定义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,修改成功。
请问,为什么这个动画文件没有立即生效?如果想要立即生效,应该怎样做? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|