欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

viewpager小结

更新时间: 2014-01-05 02:33:28 责任编辑: Author_N1

 

ViewPager总结
ViewPager的包android.support.v4.view.ViewPager
ViewPager的主要部分是处理PagerAdapter和OnPagerChangeListener
使用ViewPager主要步骤有:
1、在布局文件中使用ViewPager控件
2、初始化ViewPager
3、初始化PagerAdapter
  
   需要实现四个方法
   isViewFromObject 判断选择哪个界面
   getCount    界面数量
   instantiateItem 显示当前的界面
   destroyItem  销毁以前的界面

4、设置OnPagerChangeListener
   主要在onPageSelected()方法中实现相关的

package com.viewpager;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;

public class MainActivity extends Activity {
	
	ViewPager viewPager ;
	
	List<View> views = new ArrayList<View>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		viewPager = (ViewPager) findViewById(R.id.viewpager);
		init();
	}
	
	private void init(){
		views.add(getLayoutInflater().inflate(R.layout.first, null));
		views.add(getLayoutInflater().inflate(R.layout.seconde, null));
		views.add(getLayoutInflater().inflate(R.layout.third, null));
		
		viewPager.setAdapter(adapter);
		viewPager.setOnPageChangeListener(changeListener);
	}
	
	PagerAdapter adapter = new PagerAdapter() {
		
		@Override
		public boolean isViewFromObject(View view, Object object) {
			return view == object;
		}
		
		@Override
		public int getCount() {
			return views.size();
		}
		
		public Object instantiateItem(View container, int position) {
			((ViewPager)container).addView(views.get(position));
			return views.get(position);
		};
		
		public void destroyItem(View container, int position, Object object) {
			((ViewPager)container).removeView(views.get(position));
		};
	};
	
	OnPageChangeListener changeListener = new OnPageChangeListener() {
		
		@Override
		public void onPageSelected(int position) {
			
		}
		
		@Override
		public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
			
		}
		
		@Override
		public void onPageScrollStateChanged(int state) {
			
		}
	};
}

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:33:28
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11361/
本文WWW.DOC100.NET DOC100.NET版权所有。