popupwindow 显示和消失的动画
来源:互联网 发布:mac 照片所在文件夹 编辑:程序博客网 时间:2024/04/23 14:12
转自 http://maozonghong.blog.163.com/blog/static/21059617220128621632143/
前段时间搞android 动画,在页面中使用动画后效果还是很不错的,大大提升了用户的体验感。 但是,偶然的机会,要在popupwindow 中,添加一个 显示和消失的动画,我用之前的动画效果,居然显示效果不对了。
同样是相同的代码,在页面上,就可以很好的显示,但是在popupwindow 上显示的效果,就不一样了。
eg:
//显示动画
ScaleAnimation myanim = new ScaleAnimation
(0.0f, 1.1f, 0.0f, 1.1f,Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
myanim.setDuration(duration); //设置时间间隔
//隐藏动画
ScaleAnimation myanim = new ScaleAnimation
(1.0f, 0.0f, 1.0f, 0.0f,Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
myanim.setDuration(duration); //设置时间间隔
这两个动画,就是一个简单的 以 视图的中心为参照点,放大显示,缩小隐藏 的动画效果。 在页面中,使用没有任何问题。但是在弹出的popupwindow上,却出现了,从左上角开始慢慢扩大的效果。
起初以为是,设置 运动动画view 的问题,但是经过反复调整还是无果。 最后,终于找到了答案。
以下是解决方法:
1> 首先定义好,显示和消失的动画xml;
eg:
<!-- 显示动画-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="200" >
</scale>
</set>
<!-- 消失动画-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 透明度渐变-->
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="200" />
</set>
2> popupwindow 的显示和消失动画,是通过setAnimationStyle(int id) 的方法,来设置动画的。 这个方法的参数是,一个style 的id ;
所以需要一个 动画style;
eg:
<!-- popwidnow 显示消失 动画-->
<style name="mypopwindow_anim_style">
<item name="android:windowEnterAnimation">@anim/popshow_anim</item> <!-- 指定显示的动画xml -->
<item name="android:windowExitAnimation">@anim/pophidden_anim</item> <!-- 指定消失的动画xml -->
</style>
3> 在代码中,添加popupwindow 动画;
eg:
PopupWindow myimgpopupwindow = new PopupWindow( View (要显示的view对象), LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
myimgpopupwindow.setAnimationStyle(R.style.mypopwindow_anim_style); //设置动画
myimgpopupwindow.showAtLocation( View( 参照的view对象), Gravity.CENTER, 0, 0); //居中来显示
好了,1,2,3, 搞定!这下,你是不是也会给popupwindow设置显示消失动画了? Come on ! 赶快试试吧!*~*
- popupwindow 显示和消失的动画
- PopupWindow显示和消失动画,以及界面切换时动画所导致的问题
- popupwindow弹出和消失动画
- popupWindow设置显示和消失的动画 add:如何点击背景或返回键让popuwindow消失
- PopupWindow消失动画无效,脑洞大开的解决方案
- 解决PopupWindow实现按钮点击消失和显示,以及点击它外围可以消失的方法
- 自定义PopupWindow,带显示隐藏动画、全屏背景以及触摸屏幕空白区域消失的功能
- Android PopUpWindow的底部弹出和消失
- 关于点击显示PopupWindow再次点击消失的问题
- PopupWindow 动画显示与消失(逐惭缩放、逐惭透明)
- PopupWindow 动画显示与消失(逐惭缩放、逐惭透明)
- PopupWindow的显示和背景
- div的显示和消失
- PopupWindow点击消失的解决办法
- Android popupwindow点击显示,再点击消失
- UIViewController的出现和消失动画
- popupWindow通过按钮显示后,按下时消失,抬起时候又显示的问题
- 控件渐变式显示和消失动画,AlphaAnimation
- Java读取properties文件
- mysql隔离级别理解
- 关于Spring中的<context:annotation-config/>配置
- UVA_11137_Ingenuous Cubrency
- 计蒜客 11066 A letter from Chensg
- popupwindow 显示和消失的动画
- java对象排序
- 非计算机科班出身,如何成为一名技术牛人?
- Lua核心编程之进阶&总结
- ActionBar的使用
- Aspose.words合并文档、邮件合并功能
- 面试:数组:合并区间:058
- zcmu1727
- php在记事本中换行的问题