一域滥、什么是ViewPager纵柿?
1、ViewPager是v4包中的一個(gè)類启绰。
2昂儒、ViewPager繼承自ViewGroup,其實(shí)是一個(gè)容器委可。
3渊跋、ViewPager類似于ListView,也有自己的適配器,里面用來(lái)填充數(shù)據(jù)頁(yè)面刹枉。
4叽唱、ViewPager一般和Fragment一起使用,它更方面的管理頁(yè)面中Fragment的生命周期微宝。
二棺亭、簡(jiǎn)單的使用
布局文件
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
代碼中顯示數(shù)據(jù)
//自定義實(shí)現(xiàn)PagerAdapter,填充顯示數(shù)據(jù)
class Myadapter extends PagerAdapter {
@Override
//顯示幾個(gè)頁(yè)面
public int getCount() {
return 3;
}
@Override
//判斷object是不是view的一個(gè)對(duì)象
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
//初始化顯示對(duì)象
public Object instantiateItem(ViewGroup container, int position) {
//return super.instantiateItem(container, position);
// 準(zhǔn)備顯示的數(shù)據(jù)蟋软,一個(gè)TextView
TextView tv = new TextView(MainActivity.this);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(20);
tv.setText("今天是" + position + "號(hào)天氣好");
switch (position) {
case 0:
tv.setBackgroundColor(Color.GREEN);
break;
case 1:
tv.setBackgroundColor(Color.RED);
break;
case 2:
tv.setBackgroundColor(Color.YELLOW);
break;
}
// 添加到ViewPager容器
container.addView(tv);
// 返回填充的View對(duì)象
return tv;
}
@Override
// 銷毀對(duì)象
public void destroyItem(ViewGroup container, int position, Object object) {
//super.destroyItem(container, position, object);
container.removeView((View) object);
}
}
效果圖如下:
圖片發(fā)自簡(jiǎn)書App
圖片發(fā)自簡(jiǎn)書App