gpt4 book ai didi

android - 如何阻止 Android ViewFlipper 循环?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:31:07 29 4
gpt4 key购买 nike

我将 ViewFlipper 设置为每 5 秒自动翻转一次。省略一些细节,它看起来像这样并且工作正常:

ViewFlipper flipper = (ViewFlipper) findViewById(R.id.myflipperid);

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

flipper.startFlipping();

但是,我有一个情况,我希望自动翻转在最后一个 View 停止,而不是循环重新开始。 ViewFlipper 或它继承的任何类似乎都没有循环控制方法。

如何让 ViewFlipper 在到达最后一个 subview 时停止循环遍历其 subview ?

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

最佳答案

这是我使用的解决方案。按照建议here ,诀窍是监听动画事件的结束,然后检查脚蹼是否在最后一个 View 上。

flipper.getInAnimation().setAnimationListener(new Animation.AnimationListener() {

public void onAnimationStart(Animation animation) {}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationEnd(Animation animation) {

int displayedChild = flipper.getDisplayedChild();
int childCount = flipper.getChildCount();

if (displayedChild == childCount - 1) {
flipper.stopFlipping();
}
}
});

感谢您的回答。

关于android - 如何阻止 Android ViewFlipper 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610106/

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