ViewPager(视图分页)
1、在布局文件中添加<android.support.v4.view.ViewPager/>
<android.support.v4.view.ViewPager
android:id="@+id/pagerId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
2、在activity中获得到ViewPager
//1.获得ViewPager对象
ViewPager vp=(ViewPager)findViewById(R.id.pagerId);
3、获取item子项布局(这里可以使自己定义的)
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imgPagId"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>
4、获取获取adapter的数据源list ?或者 array[] ?
5、构建adapter(),PagerAdapter或者是其子类,可以自定义
class InnerPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
return 5;
}
/**判定arg1参数指定的对象是不是arg0指向的view对象是一样*/
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
//初始化一个item对象
@Override
public Object instantiateItem(ViewGroup container, int position) {
Log.i("TAG", "instantiateItem.position="+position);
//1.item view
TextView tv=new TextView(MainActivity.this);
tv.setTextSize(30);
//2.item data
tv.setText(String.valueOf(position));
//3.set item data to item view
//4.set item view to container
container.addView(tv);
return tv;//构建的item
}
//删除指定的item
@Override
public void destroyItem(
ViewGroup container,
int position,
Object object) {
Log.i("TAG", "destroyItem.position="+position);
container.removeView(
(View)object);
}
}
6、ViewPager.setAdapter(adapter);
//3.关联Adapter
vp.setAdapter(adapter);//PagerAdapter
7、为ViewPager设置监听器
vp.setOnPageChangeListener(this);
/**滚动状态发生变化时执行此方法*/
@Override
public void onPageScrollStateChanged(int position) {
}
/**页面发生滚动时执行此方法*/
@Override
public void onPageScrolled(int position, float offset, int pxoffset) {
}
/**页面完全进入时执行此方法*/
@Override
public void onPageSelected(int position) {
if(position==4){
btn.setVisibility(View.VISIBLE);
}else{
btn.setVisibility(View.GONE);
}
}