我正在编写一个类似于幻灯片放映的应用程序,并使用以 5 秒间隔翻转的 viewflipper。我是 android 新手,我想知道,有什么方法可以在每次视图翻转时执行代码?此代码将更新布局对象,例如文本框中的文本。
这是一些示例代码:
vf=(ViewFlipper)findViewById(R.id.ViewFlipper01);
vf.setFlipInterval(5000);
vf.startFlipping();`
感谢您的帮助。
ViewFlipper 没有内置方法可以让您轻松做到这一点。尽管如此,仍然可以通过几种方式做到这一点。
您拥有的一个选项是使用可运行的“沿边运行”您的 ViewFlipper,因为您的间隔是已知的,您可以设置一个递归可运行的,它也将使用 5000 毫秒的间隔使事情与视图同时发生变化。
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 的每次迭代都会为你翻转视图,你可以随它做任何你想做的事情。