android - 如何在关闭 android 中的弹出窗口之前在弹出窗口内设置动画 View ?

标签 android popupwindow

我想在关闭弹出窗口之前为弹出窗口内的 View 设置动画。所以我在 dismiss listener 中对 View 进行了动画处理,如下所示,

penPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {

                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        TranslateAnimation animateSlideUp = new TranslateAnimation(0,0,0, mImageViewLike.getHeight());
                        animateSlideUp.setDuration(200);
                        animateSlideUp.setFillAfter(true);
                        mImageViewLike.startAnimation(animateSlideUp);
                        mImageViewLike.setVisibility(View.VISIBLE);
                    }
                }, 200);

            }
        });

但这不会在关闭弹出窗口之前为弹出窗口内的 ImageView 设置动画,并且在关闭弹出窗口之前不会调用 setOnDismissListener。您能否建议我在关闭弹出窗口之前执行任何操作的想法?提前致谢。

最佳答案

这是你应该做的,

1)创建两组不同的动画。

例如,popup_show.xmlpopup_hide.xml 并将其添加到您必须在 res 文件夹中创建的 anim 文件夹。

2) 现在在 values 文件夹中创建一个名为 styles.xml 的 xml,并像这样将这些动画添加到其中,

<style name="Animation">
    <item name="android:windowEnterAnimation">@anim/popup_show</item>
    <item name="android:windowExitAnimation">@anim/popup_hide</item>
</style>

3)现在将此样式设置为您的 PopupWindow 动画,

popup.setAnimationStyle(R.style.Animation);

现在它会自动检测窗口进入和退出并提供所需的动画。

关于android - 如何在关闭 android 中的弹出窗口之前在弹出窗口内设置动画 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38612949/

相关文章:

android - 如何将 Gradle 依赖项更新到最新版本

android - 如何在 Android 中创建 JSON

JAVA:如何让弹出窗口自动关闭?

javascript - Safari 弹出窗口无法打开 - 执行 window.open() 时未返回对象

android - 检测 PopupWindow 是否在 ScrollView 之上

java - 从服务器(java)发送数据到android客户端

android - 如何自定义Action Bar Style?

android - 将位图转换为 WebRTC VideoFrame

javascript - 打开弹出窗口时,网页不会切换标签。其他页面无法打开

html - 在不改变视口(viewport)位置的情况下使用纯 CSS/HTML 弹出 div