ViewPager

简介: 整理保存:  简单的实现: /**  * 滑动  * @author Administrator  *  */ private class MyPagerAdapter extends PagerAdapter{ @Override public int getCount() { Log.
整理保存: 
简单的实现:
/**
 * 滑动
 * @author Administrator
 *
 */
private class MyPagerAdapter extends PagerAdapter{

@Override
public int getCount() {
Log.i(TAG, "getCount");
return _listview.size();
}

@Override
public boolean isViewFromObject(View arg0, Object arg1) {
Log.i(TAG, "isViewFromObject");
return arg0==arg1;
}
@Override
public Object instantiateItem(View container, int position) {
Log.i(TAG, "instantiateItem");
((ViewPager)container).addView(_listview.get(position));
return _listview.get(position);
}
@Override
public Parcelable saveState() {
Log.i(TAG, "saveState");
// return super.saveState();
return null;
}
@Override
public void startUpdate(View container) {
Log.i(TAG, "startUpdate");
}

@Override
public void restoreState(Parcelable state, ClassLoader loader) {
Log.i(TAG, "restoreState");
// super.restoreState(state, loader);
}
@Override
public void finishUpdate(View container) {
Log.i(TAG, "finishUpdate");
}

@Override
public void destroyItem(View container, int position, Object object) {
Log.i(TAG, "destroyItem");
((ViewPager)container).removeView(_listview.get(position));
}
}



//主方法
public class MainUiActivity extends Activity{
private String TAG="MainUiActivity";
private LayoutInflater _inflater;//加载器
private ViewPager viewpager;//控件
private View _firstView,_secondView,_thirdView;
private List<View> _listview;
private MyPagerAdapter _myPagerAdapter;
       
void init(){
_myPagerAdapter=new MyPagerAdapter();
viewpager=(ViewPager) findViewById(R.id.viewpager_layout);
viewpager.setAdapter(_myPagerAdapter);
_listview=new ArrayList<View>();
_inflater=getLayoutInflater();
_firstView=_inflater.inflate(R.layout.viewpager_one,null);
_secondView=_inflater.inflate(R.layout.viewpager_two,null);
_thirdView=_inflater.inflate(R.layout.viewpager_three, null);
}
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main_ui);
init();
_listview.add(_firstView);
_listview.add(_secondView);
_listview.add(_thirdView);
//初始化当前显示的View
viewpager.setCurrentItem(0);
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
//activity从1到2滑动,2被加载后掉用此方法
Log.i(TAG, "onPageSelected"+position);
View v=_listview.get(position);
}
@Override
public void onPageScrolled(int position, float arg1, int arg2) {
//从1到2滑动,在1滑动前调用
Log.i(TAG, "onPageScrolled"+position);
}
@Override
public void onPageScrollStateChanged(int position) {
//状态有三个0空闲,1是增在滑行中,2目标加载完毕
Log.i(TAG, "onPageScrollStateChanged"+position);
                /**
                 * Indicates that the pager is in an idle, settled state. The current page
                 * is fully in view and no animation is in progress.
                 */
 
                //public static final int SCROLL_STATE_IDLE = 0;
 
                /**
                 * Indicates that the pager is currently being dragged by the user
                 */
 
                //public static final int SCROLL_STATE_DRAGGING = 1;
 
                /**
                 * Indicates that the pager is in the process of settling to a final position.
                 */
 
                //public static final int SCROLL_STATE_SETTLING = 2;

}
});
}
 
配置文件:
  <android.support.v4.view.ViewPager android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/viewpager_layout"/>
相关文章
|
Android开发
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(一)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
Android开发 UED 开发者
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(二)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
XML Java 数据格式
ViewPager基本用法
用法:数据ImageView+自定义适配器+ViewPager控件
103 0
|
安全
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
|
Android开发
RecyclerView + SnapHelper实现炫酷ViewPager效果
目录 什么是SnapHelper SnapHelper是Google 在 Android 24.2.0 的support 包中添加的对RecyclerView的拓展,结合RecyclerView使用,能很方便的做出一些炫酷的效果。
5543 0
|
缓存
解析ViewPager(二)——ViewPager源码解析
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/53433565 前言 前一篇博客介绍了ViewPager的简单使用,这篇博客主要从源码的角度来解析ViewPager。
1377 0
|
Android开发 容器
Android学习之ViewPager(一)——ViewPager的简单使用
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/53187611 前言 前段时间一直在加班比较忙,做项目中遇到了ViewPager,发现自己对ViewPager还只是会简单的使用,一些功能还是不太会使用,于是详细阅读了ViewPager的源码。
1088 0