Android 为PopupWindow设置动画效果
2016-04-18 17:27
579 查看
首先定义显示效果的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="120"
android:toYDelta="0"
android:duration="500" />
</set>
然后定义消失效果的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="120"
android:duration="500" />
</set>
PopupWindow的动画显示效果是通过setAnimationStyle(int id)方法设置的,其中id为一个style的id,所以我们要在styles.xml文件中设置一个动画样式:
<style name="popwin_anim_style">
<item name="android:windowEnterAnimation">@anim/menushow</item>
<item name="android:windowExitAnimation">@anim/menuhide</item>
</style>
然后在程序中为PopupWindow设置就成:
PopupWindow pop = new PopupWindow(view, ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
pop.setAnimationStyle(R.style.popwin_anim_style);
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="120"
android:toYDelta="0"
android:duration="500" />
</set>
然后定义消失效果的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="120"
android:duration="500" />
</set>
PopupWindow的动画显示效果是通过setAnimationStyle(int id)方法设置的,其中id为一个style的id,所以我们要在styles.xml文件中设置一个动画样式:
<style name="popwin_anim_style">
<item name="android:windowEnterAnimation">@anim/menushow</item>
<item name="android:windowExitAnimation">@anim/menuhide</item>
</style>
然后在程序中为PopupWindow设置就成:
PopupWindow pop = new PopupWindow(view, ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
pop.setAnimationStyle(R.style.popwin_anim_style);
相关文章推荐
- Android - Jar mismatch! Fix your dependencies问题解决
- Android实现文本排版
- android基础 --- 权重(weight)
- android中HandlerThread的原理和用法讲解
- Android解析之三分钟教你快速掌握并使用GSON解析Json
- android内存泄露案例和解析
- AllJoyn+Android开发案例-android跨设备调用方法
- Android M 动态权限获取
- Android插件化框架研究-DroidPlugin
- Android Studio 如何打JAR包
- Android中程序与Service交互的方式——交互方式
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android从启动到程序运行发生的事情
- Android中程序与Service交互的方式——综述
- Android将应用log信息保存文件
- Android Studio开发可以使用的一些框架
- Android动画之TranslateAnimation使用
- Android媒体播放---Media playback
- android开发 AutoCompleteTextView自定义适配器
- android6.0(M)新特性