Android开发之ViewPager的简单使用

ViewPager是V4包中的,如果你的编译器敲不出ViewPager,那么你就需要添加,看下面:

第一步:点击+号

第二步:选择第一个Library

第三步:添加这个包:

然后点击ok-->ok就搞定了,编译器会从新进行预编译。

下面就是重点了,我们先看布局文件:

1 <android.support.v4.view.ViewPager
2         android:id="@+id/ViewPager"
3         android:layout_width="match_parent"
4         android:layout_height="match_parent"
5         />

ps:果然敲的时候有自动提示,说明你添加成功了。

然后是代码:

 1 public class MainActivity extends Activity {
 2
 3     private ViewPager viewPager;
 4     private ArrayList<ImageView> mImageViewList;
 5     private int[] mImagerIds = new int[]{R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3};
 6
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.activity_main);
11
12         viewPager = (ViewPager) findViewById(R.id.ViewPager);
13         initData();
14         ViewPagerAdapter adapter = new ViewPagerAdapter();
15         viewPager.setAdapter(adapter);
16     }
17
18
19
20     public void initData(){
21         mImageViewList = new ArrayList<>();
22         //把所有的ImageView都添加都mImageViewList的集合中
23         for (int i=0; i<mImagerIds.length; i++){
24             //新建一个ImgeView将图片资源添加到ImageView中
25             ImageView imageView = new ImageView(this);
26             imageView.setBackgroundResource(mImagerIds[i]);
27             //将ImageView添加到mImageViewList的集合中
28             mImageViewList.add(imageView);
29         }
30
31     }
32
33     class ViewPagerAdapter extends PagerAdapter {
34
35         //item的个数
36         @Override
37         public int getCount() {
38             return mImageViewList.size();
39         }
40
41         @Override
42         public boolean isViewFromObject(View view, Object object) {
43             return view==object;
44         }
45
46         //初始化item布局
47         @Override
48         public Object instantiateItem(ViewGroup container, int position) {
49             ImageView imageView = mImageViewList.get(position);
50             container.addView(imageView);//将imageView添加进来
51             return imageView;//将imageView返回
52         }
53
54         //销毁Item
55         @Override
56         public void destroyItem(ViewGroup container, int position, Object object) {
57             //super.destroyItem(container, position, object);//如果用这个一出Item的话滑到最后一个会报错
58             container.removeView((View)object);
59         }
60     }
61 }

思路:先将图片资源放到一个int[]中,然后在for循环里面循环创建ImageView设置图片资源,再把ImageView添加到ArrayList集合中,然后在instantiateItem()方法中初始化item,把ImageView集合中的ImageView添加到ViewGroup中,然后返回ImageView,销毁ImageView的时候不能用super.destroyItem(container, position, object);,这个会导致滑到最后一个ImageView时报错。

时间: 2024-10-31 15:58:48

Android开发之ViewPager的简单使用的相关文章

Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View

最近开发中需要做一个类似京东首页那样的广告轮播效果,于是采用ViewPager自己自定义了一个轮播图效果的View. 主要原理就是利用定时任务器定时切换ViewPager的页面. 效果图如下: 主页面布局实现如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&

Android开发之ViewPager

什么是ViewPager? ViewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用以实现左右滑动切换View的效果. 如果想向下兼容就必须要android-support-v4.jar这个包的支持,这是一个来自google提供的一个附加包. 通俗点来讲,就是现在市面上大多数app,安装完第一次打开软件会出现的一个左右滑动的引导界面. 布局代码: 要点1.页面的小圆点的控制,当在当前页时小圆点不可点. 所以有多少个页面就需要添加多少的圆点图片. 1 <RelativeLa

android开发之viewpager and Fragment

Android ViewPager和Fragment实现顶部导航界面滑动效果 Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示 该效果.ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得很方便. 些adapter的具体实现,可以适合于这种ViewPager结合Fragment使用的情况.这些adapter包括: 其中,有一FragmentPagerAdapter,和 FragmentSta

Android开发之ViewPager及PagerAdapter

ViewPager,官网链接--http://developer.android.com/reference/android/support/v4/view/ViewPager.html ViewPager,位于android.support.v4.view.ViewPager. 1.继承自ViewGroups,继承关系请看官网截图 2.主要使用在 a.app的引导页面的展示   b.可左右滑动的框架 ViewPager特点: 1)ViewPager类直接继承了ViewGroup类,所有它是一个

Android开发之Tween(补间动画)完全解析(下)

欢迎转载,转载请注明出处:http://blog.csdn.net/dmk877/article/details/51980734 在上一篇文章中,我们详细讨论了Tween动画的xml的实现以及interpolator的使用,相信通过上篇文章大家对Tween动画的xml属性的配置会有一个详细的理解,当然这篇文章也是承接上篇文章,所以强烈建议先阅读上篇文章:Android开发之Tween(补间动画)完全解析(上),这篇文章将从代码的角度实现上篇文章的效果.如有疑问请留言,如有谬误欢迎批评指正. T

Android开发之JSON使用

Android开发之JSON使用 今天在论坛看到有不少朋友问关于json的问题,所以想写一篇关于android中使用json的博客. 首先 json是什么 JSON的全称是JavaScript Object Notation,从这里可以看到它源于JavaScript,它采用文本形式体现.比如 {"name":"zhangsan","age":20,"wife":"如花"} 这个简单表示了一个对象,在java

Android开发之Fragment详解

Android开发之Fragment学习 1.简介: Fragment是Android 3.0引入的新API. Fragment代表了 Activity的子模块,因此可以把Fragment理解成Activity片段.Fragment用于自己的生命周期,也可以接受它自己的输入事件. Fragment必须被"嵌入" Activity中使用,因此虽然Fragment也拥有自己的生命周期,但Fragment的生命周期会受它所在的Activity的生命周期的控制.例如,当Activity暂停时,

Android开发之Html类详解

在进行Android开发中经常回忽略Html类.这个类其实很简单,就是将HTML标签文本解析成普通的样式文本.下面就让我么看一下这个类的具体介绍. 类结构: java.lang.Object    ? android.text.Html 类概述: 这个类用于处理的HTML字符串并将其转换成可显示的样式文本.但并不是所有的HTML标记的支持. 公有方法: 说其简单是应为它就有四个方法: Public Methods static String escapeHtml(CharSequence tex

android开发之MediaPlayer+Service MP3播放器

http://blog.csdn.net/zzy916853616/article/details/6450753 [java] view plaincopy import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.apps.service.Player