对话框从下往上弹出---模仿微信退出

本文详细介绍了如何使用AlertDialog和Window API自定义Android对话框的显示动画,包括动画的创建、设置及应用过程。

本文是基于AlertDialog实现的效果,主要的实现代码就是dialog.getWindow(),然后在得到的Window中setWindowAnimations.在这里就可以设置dialog的显示动画,具体实现代码如下

AlertDialog d =new AlertDialog.Builder(this).create();
d.show();
Window window = d.getWindow();
window.setContentView(R.layout.view);//这里的layout自己随意写
window.setlayout(w,h);//高度和宽度自己指定,可根据屏幕大小
window.setGravity(Gravity.BOTTOM);
window.setWindowAnimations(R.style.myanim);


myanim.xml的代码如下

<style name="myanim" parent="android:Animation">
	<item name="@android:windowEnterAnimation">@anim/in</item>
	<item name="@android:windowExitAnimation">@anim/out</item>
</style>

in.xml中设置的动画为

<translate
 	android:fromYDelate="100%p"
	android:duration="200"/>

out.xml则为

<translate
 	android:toYDelate="100%p"
	android:duration="200"/>


这里解释一下
android:fromYDelate
android:toYDelate
这两个的意思大家应该没有什么问题,主要是其中的属性值,%p的意思是相对于parent的百分之几。上面的in.xml其实是省略了一个属性,写全的话如下

<translate
 	android:fromYDelate="100%p"
	android:toYDelate="0%p"
	android:duration="200"/>

out.xml同理

<translate
 	android:fromYDelate="0%p"
	android:toYDelate="100%p"
	android:duration="200"/>


下图应该可以很好的帮助理解(图片从其他博客中拿来的,地址 http://blog.youkuaiyun.com/scyatcs/article/details/26764641,不明白的话就再去看看这篇博客,其中还有其他属性的一些介绍)


这样就基本模仿出了微信退出对话框从屏幕下滑出的效果。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值