ViewPager轮播图
ViewPager: 轮播图
下面的ViewPager由LinearLayout,textView,点的容器组成;
![](https://images2015.cnblogs.com/blog/819146/201510/819146-20151007140653862-558587232.jpg)
ViewPager
页面切换,定时页面切换
VP技术点:1、使用第三方UI类,只需要将完整包名加入就行2、Timer和ScheduledExecutorService 3、Handler+Message或者runOnUiThread(runnable)更新界面ui 4、ViewPager的适配器类 |
VP步骤:1、布局##viewpager的使用方法注意:1.首先在XML配置 6. 实现destroyItem ,销毁view对象的逻辑( 把super 删除,否则也报异常) 2、将要显示的图片,文字分别用int和String数组存起来 3、然后将布局中的显示的ImageView和显示的状态点分别存到一个ArrayList中去 4、设置viewpager的变化事件 5、在变化页面 onPageSelected中,将对应的文本标题和状态的点显示正确定时切换页面; a)使用ScheduledExecutorService而不是Timer,在Activity可见(onStart)时,开启定时,不可见时(onStop)时,关闭定时 可见时,将当前的item页面也增加1 @Override protected void onStart() {
super.onStart();
scheduledExecutorService = Executors.newScheduledThreadPool(imageIds.length);
Runnable command = new Runnable() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// 将当前页面增加1,然后取余,为了保证最后一页可以循环到第一页page
currentItem = (currentItem + 1) % imageIds.length;
viewPager.setCurrentItem(currentItem);
}
});
}
};
scheduledExecutorService.scheduleWithFixedDelay(command , 2, 2, TimeUnit.SECONDS);
}
@Override
protected void onStop() {
super.onStop();
if (scheduledExecutorService != null) {
scheduledExecutorService.shutdown();
}
} |
核心代码:public class MainActivity extends Activity {
|
|