gpt4 book ai didi

android - PopupWindow 动画不工作

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:49:18 24 4
gpt4 key购买 nike

我有一个漂亮的 PopupWindow,我想用动画显示它。我这样做:

popup.setAnimationStyle(R.anim.appear);
popup.showAtLocation(popupMenuLayout, gravity, offsetX, offsetY);

然后我设置了一个用于更改动画的监听器:

popup.setOnDismissListener(new PopupWindow.OnDismissListener(){
@Override
public void onDismiss(){
popup.setAnimationStyle(R.anim.disappear);
}
});

但是,嘿,这是行不通的。 res/anim/appear 都没有:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%"
android:toYDelta="0"
android:duration="1000"
/>

也不是 res/anim/disappear:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0"
android:toYDelta="100%"
android:duration="1000"
/>

有什么线索吗?

最佳答案

实际上,PopupWindow.setAnimationStyle期望具有 2 个条目的样式。您需要有两个 xml,每个包含一个 <set> ,一个用于显示,另一个用于隐藏窗口。完成后,将以下内容放入 values/styles.xml 中:

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

并将动画样式设置为R.style.AnimationPopup .就可以了。

我从 https://github.com/lorensiuswlt/NewQuickAction3D 获得了这些信息文档似乎没有提到它。

更新:

2012 年对 Android SDK 的更新更改了 XML 语法。原文@android:windowEnterAnimation现在变成了android:windowEnterAnimation .所以这个答案会相应更新。

关于android - PopupWindow 动画不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com