怎么设置android中的popupwindow进入和退出的动画

怎么设置android中的popupwindow进入和退出的动画,第1张

首先定义显示效果的动画文件:

<?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)

1.基本属性方法

2.在d窗出现后让背景变暗,并在d窗消失后让背景还原

3.添加动画

自定义一个动画

添加动画

只有同时设置PopupWindow的背景和可以响应外部点击事件,它才能“真正”响应外部点击事件。也就是说,当你点击PopupWindow的外部或者按下“Back”键时,PopupWindow才会消失。

1.在popwindow中嵌套viewpager时候,关于定位问题:首先保证viewpager类是同一个,就是没有新new一个类。然后在show的时候记得setCurrentItem()一下就好了。

Android PopupWindow使用方法小结

Android中文API——PopupWindow

喵印~~

Android中Alertdialog是没有直接显示在指定控件下的API的,你可以使用PopupWindow来实现显示在指定控件下面的需求。PopupWindow不仅能显示在指定位置,还可以指定显示和消失的动画,不必限定死必须用哪个控件,只需要实现需求即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7941395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存