如何阻止Android ViewFlipper循环?

前端之家收集整理的这篇文章主要介绍了如何阻止Android ViewFlipper循环?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ViewFlipper设置为每5秒自动翻转一次.省略一些细节,它看起来像这样,工作正常:
ViewFlipper flipper = (ViewFlipper) findViewById(R.id.myflipperid);

flipper.setFlipInterval(5000);                              
flipper.setInAnimation(inFromRightAnimation());
flipper.setOutAnimation(outToLeftAnimation());

flipper.startFlipping();

但是,我有一个案例,我希望自动翻转停在最后一个视图,而不是循环重新开始. ViewFlipper或它继承的任何类都没有循环控制方法.

如何让ViewFlipper在击中最后一个子视图时停止循环查看子视图?

注意:给出的答案here不适用于我的情况,因为我需要在其列表的末尾捕获ViewFlipper,即不依赖于用户输入.谢谢.

解决方法

我没有试过这个我自己,但我希望这会有所帮助.

首先,尝试收听viewflipper的翻转事件.
因为你正在使用动画.您可以使用此处发布的解决方案:https://stackoverflow.com/a/3813179/1594522

然后,onAnimationEnd(),您可以检查viewflipper是否在其最后一个子视图上.
如果它已经在其最后一个子视图上,则调用flipper.stopFlipping().

希望有所帮助!

猜你在找的Android相关文章