android – 下一个和上一个动画

android – 下一个和上一个动画,第1张

概述当用户选择列表中的项目时,我d出了PopupWindow.然后当他在d出窗口中左右滑动时,数据(在d出窗口中)分别变为列表中的上一个和下一个项目. 我已经做到这一点,当用户向右滑动手指(“下一步”动作)时,当左边的当前窗口从屏幕右侧熄灭时,它看起来像是从左侧滑入的新d出窗口.反之亦然“上一步”动议. 但问题是,因为我为两个动画制作了两种风格(左到中间,中间到右边,右到中间,中间到左边),而且Pop 当用户选择列表中的项目时,我d出了PopupWindow.然后当他在d出窗口中左右滑动时,数据(在d出窗口中)分别变为列表中的上一个和下一个项目.

我已经做到这一点,当用户向右滑动手指(“下一步”动作)时,当左边的当前窗口从屏幕右侧熄灭时,它看起来像是从左侧滑入的新d出窗口.反之亦然“上一步”动议.

但问题是,因为我为两个动画制作了两种风格(左到中间,中间到右边,右到中间,中间到左边),而且PopupWindows没有更新显示,当用户向右滑动(“下一步”)然后向左滑动(“上一步”)时,动画看起来不稳定,因为2个动画重叠.当滑动再次反转时也会发生同样的情况.

现在,如果我在更改动画后调用update(),它会再次滑入中间.那更糟糕的是.那么我能做些什么来实现我想要的行为呢?

谢谢.

编辑:源代码

这是我用来第一次显示d出窗口的代码:

popup1 = new PopupWindow(popupLayout,popup_wIDth,popup_height,true);popup1.setAnimationStyle(R.style.AnimationPopup);popup1.showAtLocation(this.findVIEwByID(R.ID.main_container),Gravity.CENTER,0);

这是next()方法的代码:

if(popup2 != null) popup1 = popup2;if(popup1 != null) {    popup2 = new PopupWindow(popupLayout,true);    popup2.setAnimationStyle(R.style.AnimationPopup);    popup1.dismiss();    popup2.showAtLocation(rootLayout,0);}

这是prev()方法的代码:

if(popup2 != null) popup1 = popup2;if(popup1 != null) {    popup2 = new PopupWindow(popupLayout,true);    popup2.setAnimationStyle(R.style.AnimationPopupReverse);    popup1.setAnimationStyle(R.style.AnimationPopupReverse);    popup1.dismiss();    popup2.showAtLocation(rootLayout,0);}

这就是Java代码的全部内容. AnimationPopup是一个XML,可以简单地显示从右到中的幻灯片以及从中心到左侧动画的隐藏幻灯片.而AnimationPopupReverse与上述动画相反.

我已经提供了我的第一次尝试代码.此处,更改的动画在显示另一个d出窗口后生效.

解决方法 如果在应用程序标记下的清单中使用androID:harDWareAccelerated =“true”,则所有动画都会显得更清晰.即使是常规的幻灯片左/右动画也不会出现硬件加速. 总结

以上是内存溢出为你收集整理的android – 下一个和上一个动画全部内容,希望文章能够帮你解决android – 下一个和上一个动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1127407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存