我想在关闭弹出窗口之前为弹出窗口内的 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.xml
和 popup_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/