我正在编写一个类似于幻灯片放映的应用程序,并使用以5秒的间隔翻转的viewflipper。我是android新手,想知道,有什么方法可以在每个视图翻转时执行代码吗?此代码将更新布局对象,例如文本框中的文本。
以下是一些示例代码:
vf=(ViewFlipper)findViewById(R.id.ViewFlipper01);
vf.setFlipInterval(5000);
vf.startFlipping();`
感谢您的帮助。
答案 0 :(得分:0)
ViewFlipper内置的方法无法让您轻松完成。尽管如此,它仍然可以通过几种方式实现。
你有一个选择是使用runnable来“运行ViewFlipper”,因为你的间隔是已知的,你可以设置一个递归的runnable,它也会使用5000ms的间隔来同时发生观点正在改变。
vf=(ViewFlipper)findViewById(R.id.ViewFlipper01);
vf.setFlipInterval(5000);
Runnable r = new Runnable() {
@Override
public void run(){
//Do something here
vf.postDelayed(r,5000);
}
}
vf.postDelayed(r, 5000);
vf.startFlipping();
另一种方法是放弃通过startFlipping()自动翻转,而是在其中使用vf.showNext()
这样的runnable。这样,runnable的每次迭代都会为你翻转视图,你可以随意做任何其他的事情。