我正在编写一个类似于幻灯片放映的应用程序,该应用程序使用每隔5秒翻转一次的视图翻转器。我是安卓系统的新手,我想知道,有没有什么方法可以在每次视图翻转时执行代码?此代码将更新布局对象,例如文本框中的文本。
以下是一些示例代码:
vf=(ViewFlipper)findViewById(R.id.ViewFlipper01);
vf.setFlipInterval(5000);
vf.startFlipping();`
谢谢你的帮助。
ViewFlipper没有内置的方法可以让您轻松地做到这一点。不过,仍有可能通过几种方式来实现。
一种选择是使用ViewFlipper的可运行程序"沿边运行",因为您的间隔是已知的,所以您可以设置一个递归可运行程序,该程序也将使用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()
的可运行程序。这样,可运行程序的每次迭代都会为您翻转视图,您可以同时执行任何其他操作。