viewpager的入门使用(1)
2015-11-28 19:57
435 查看
今天说一下viewPager的入门使用,仅仅是基础使用,供第一次使用viewpager的童靴参考。
首先viewpager是存在于android.support.v4包下view中的一个控件 ,要使用viewpager首先要保证项目中引入了android.support.v4包(这里不再赘述怎么引入了,不知道的同学可以搜一下,提醒一句注意不要引入jar包冲突)。
在布局文件中使用viewpager要使用全路径名 即:android.support.v4.view.ViewPager 其他的属性和一般的控件基本类似。
viewpager需要适配器(Adapter) 可以写一个内部类 继承PagerAdapter @override里边的方法 :
下面举个例子:
public class GuideActivity extends Activity {
}`
例子中viewpager填充的是ImageView 首先初始化了一个ImageView的ArrayList放置要在viewpager中展示的图片。 @override的几个方法分别是:
1、getCount() 返回一共有多少展示项。
2、isViewFromObject() 用来判断pager的一个view是否和instantiateItem方法返回的object有关联。
3、instantiateItem() 初始化item 将展示项添加进ViewPager容器
4、 destroyItem() 就是销毁 方法体就是将展示项从容器中removeView()
说的有点乱 都是我自己的理解 又不对的地方欢迎指正,欢迎交流。
首先viewpager是存在于android.support.v4包下view中的一个控件 ,要使用viewpager首先要保证项目中引入了android.support.v4包(这里不再赘述怎么引入了,不知道的同学可以搜一下,提醒一句注意不要引入jar包冲突)。
在布局文件中使用viewpager要使用全路径名 即:android.support.v4.view.ViewPager 其他的属性和一般的控件基本类似。
viewpager需要适配器(Adapter) 可以写一个内部类 继承PagerAdapter @override里边的方法 :
下面举个例子:
public class GuideActivity extends Activity {
[code]private static final int[] mImage = new int[]{R.drawable.splash_bg_newyear, R.drawable.guide_2, R.drawable.guide_3}; private ViewPager mVpGuide; private ArrayList<ImageView> mImageViewList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); mVpGuide = (ViewPager) findViewById(R.id.vp_guide); initView(); mVpGuide.setAdapter(new MyAdapter()); } /** * 初始化引导页ImageView */ public void initView() { mImageViewList = new ArrayList<>(); for (int i = 0; i < mImage.length; i++) { ImageView imageView = new ImageView(this); imageView.setImageResource(mImage[i]); mImageViewList.add(imageView); } } /** * Viewpager适配器 */ class MyAdapter extends PagerAdapter { @Override public int getCount() { return mImage.length; } @Override public boolean isViewFromObject(View view, Object o) { return o == view; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(mImageViewList.get(position)); return mImageViewList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
}`
例子中viewpager填充的是ImageView 首先初始化了一个ImageView的ArrayList放置要在viewpager中展示的图片。 @override的几个方法分别是:
1、getCount() 返回一共有多少展示项。
2、isViewFromObject() 用来判断pager的一个view是否和instantiateItem方法返回的object有关联。
3、instantiateItem() 初始化item 将展示项添加进ViewPager容器
4、 destroyItem() 就是销毁 方法体就是将展示项从容器中removeView()
说的有点乱 都是我自己的理解 又不对的地方欢迎指正,欢迎交流。
相关文章推荐
- UVA 12575 Sin Cos Problem
- 用jdbc返回集合数据时的一些小问题
- 事物处理
- 滤波电容、去耦电容、旁路电容作用
- Android调用系统相机方法及保存照片方式
- php PDO调用带有out参数的存储过程(原创)
- centos7下使用yum安装mysql
- [LeetCode]002-AddTwoNumber
- CentOS修改系统时间
- c++11,线程池之二--有等待线程池中任务完成功能的线程池
- UIImagePickerController详解
- 随意细解:UI -- 标签视图控制器
- ContentProvider实现数据共享1
- hdoj 第几天?
- hdu 2602 Bone Collector(01背包)
- 朴素贝叶斯算法理解
- 连接String与Int(转)
- cocoapods的使用
- 【Python】计算文件MD5 和 SHA1
- 深入理解JVM之七:静态分派与动态分派