在android中以编程方式将动画效果添加到(以编程方式添加的)弹出窗口
因此,我有一个以编程方式添加的PopupWindow,如下所示:在android中以编程方式将动画效果添加到(以编程方式添加的)弹出窗口,android,popupwindow,Android,Popupwindow,因此,我有一个以编程方式添加的PopupWindow,如下所示: dialog = new PopupWindow(context); dialog.setContentView(ll); dialog.showAtLocation(view, Gravity.LEFT | Gravity.TOP, -70, 0); dialog.setWidth(w); dialog.setHeight(h - 50);
dialog = new PopupWindow(context);
dialog.setContentView(ll);
dialog.showAtLocation(view, Gravity.LEFT | Gravity.TOP, -70, 0);
dialog.setWidth(w);
dialog.setHeight(h - 50);
dialog.setOutsideTouchable(true);
//The dialog.update is somewhere else, I didn't bother adding it too as it is not important for this matter (I guess)
我想做的是有某种动画效果,就像它从我按下的按钮上弹出,这样弹出窗口就会出现。(这只是一个例子,我只想要任何类型的动画)
文档也可以,只要它不是基于XML的(我发现它们已经存在了——并没有真正帮助我)
如果需要其他详细信息,我将对问题进行评论或编辑。以下是设置动画样式的代码。确保在调用showAtLocation之前调用setAnimationStyle方法
dialog = new PopupWindow(context);
dialog.setAnimationStyle(android.R.style.Animation_Dialog);
希望这有帮助
参考资料:所以,我设法解决了这个问题 实现动画效果有三个简单步骤 第一: 制作两个XML作为动画。在我的例子中,这两个XML就是下面这两个。 xml上的动画
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:toXScale="1.0"
android:fromXScale="0.0"
android:toYScale="1.0"
android:fromYScale="0.0"
android:pivotX="0%"
android:pivotY="50%"
android:startOffset="100"
android:duration="300" />
如果有人需要这方面的帮助,请留言。我会尽快回答。好吧,很抱歉,这对我没什么帮助。我需要的是XML逻辑。不管怎样,我明白了。稍后我会发布答案,因为现在我有点忙着处理另一个问题。不,不是它不起作用,只是你的答案不是我想要的。我需要XML的东西。更重要的是:制作两个动画XML(一个是淡入效果,另一个是淡出效果),我需要用这两个XML创建一个样式(在值->样式中)。这正是我所需要的。尽管如此,我还是会给你一个机会,因为你很快就回答了,我很肯定如果我在评论中问你的话,你会帮助我的。
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:toXScale="0.0"
android:fromXScale="1.0"
android:toYScale="0.0"
android:fromYScale="1.0"
android:pivotX="0%"
android:pivotY="50%"
android:startOffset="100"
android:duration="300" />
<style name="animationName" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/animation_on</item>
<item name="android:windowExitAnimation">@anim/animation_off</item>
</style>
dialog = new PopupWindow(context);
// ....other code, whatever you want to do with your popupWindow (named dialog in our case here)
dialog.setAnimationStyle(R.style.animationName);