Android开发之ViewPager的简单使用
ViewPager是V4包中的,如果你的编译器敲不出ViewPager,那么你就需要添加,看下面:
第一步:点击+号
第二步:选择第一个Library
第三步:添加这个包:
然后点击ok-->ok就搞定了,编译器会从新进行预编译。
下面就是重点了,我们先看布局文件:
<android.support.v4.view.ViewPager android:id="@+id/ViewPager" android:layout_width="match_parent" android:layout_height="match_parent" />
ps:果然敲的时候有自动提示,说明你添加成功了。
然后是代码:
public class MainActivity extends Activity { private ViewPager viewPager; private ArrayList<ImageView> mImageViewList; private int[] mImagerIds = new int[]{R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = (ViewPager) findViewById(R.id.ViewPager); initData(); ViewPagerAdapter adapter = new ViewPagerAdapter(); viewPager.setAdapter(adapter); } public void initData(){ mImageViewList = new ArrayList<>(); //把所有的ImageView都添加都mImageViewList的集合中 for (int i=0; i<mImagerIds.length; i++){ //新建一个ImgeView将图片资源添加到ImageView中 ImageView imageView = new ImageView(this); imageView.setBackgroundResource(mImagerIds[i]); //将ImageView添加到mImageViewList的集合中 mImageViewList.add(imageView); } } class ViewPagerAdapter extends PagerAdapter { //item的个数 @Override public int getCount() { return mImageViewList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } //初始化item布局 @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = mImageViewList.get(position); container.addView(imageView);//将imageView添加进来 return imageView;//将imageView返回 } //销毁Item @Override public void destroyItem(ViewGroup container, int position, Object object) { //super.destroyItem(container, position, object);//如果用这个一出Item的话滑到最后一个会报错 container.removeView((View)object); } } }
思路:先将图片资源放到一个int[]中,然后在for循环里面循环创建ImageView设置图片资源,再把ImageView添加到ArrayList集合中,然后在instantiateItem()方法中初始化item,把ImageView集合中的ImageView添加到ViewGroup中,然后返回ImageView,销毁ImageView的时候不能用super.destroyItem(container, position, object);,这个会导致滑到最后一个ImageView时报错。
Android开发之ViewPager的简单使用的更多相关文章
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...
- Android开发之ViewPager实现多页面切换及动画效果(仿Android的Launcher效果)
Android开发中经常会有引导页或者切换页面等效果,本文采用ViewPager结合动画效果来实现仿Launcher以及页面切换的效果.源码地址在文章最后给出下载. 效果图如下: 1.Vi ...
- Android开发之ViewPager
什么是ViewPager? ViewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用以实现左右滑动切换View的效果. 如果想向下兼容就必须要android-support-v ...
- Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View
最近开发中需要做一个类似京东首页那样的广告轮播效果,于是采用ViewPager自己自定义了一个轮播图效果的View. 主要原理就是利用定时任务器定时切换ViewPager的页面. 效果图如下: 主页面 ...
- Android开发之ViewPager做新手引导界面
先看一下我们要开发的界面(三张图片,滑到最后一个会出现开始体验的Button,下面的小红点会跟着一起滑动): 首先看一下布局文件: <?xml version="1.0" e ...
- Android开发之AutoCompleteTextView的简单使用
这里只谈简单的使用: 代码xml: <AutoCompleteTextView android:id="@+id/actv" android:layout_width=&qu ...
- Android开发之viewpager导报错误解决方法:错误代码 Caused by: java.lang.ClassNotFoundException: Didn't find class
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Caused by: java.lang.ClassNotFoundException: Didn't ...
- Android开发之ContentProvider的简单使用
ContentProvider,内容提供者 官网结构图: 作为四大组件之一的ContentProvider,主要是用于应用间数据共享使用的. ContentProvider把应用的数据封装起来,然后提 ...
- Android开发之EventBus的简单使用
参考: 1.http://blog.csdn.net/harvic880925/article/details/40660137 2.http://blog.csdn.net/harvic880925 ...
随机推荐
- Tomcat源码分析之—组件启动实现分析
Tomcat由多个组件组成,那么Tomcat是怎么对他们的生命周期进行管理的么,这里将从Tomcat源码去分析其生命周期的实现: Bootstrape类为Tomcat的入口,所有的组件够通过实现Lif ...
- iOS 懒加载不起作用的原因
在.m类中定义了一共strong属性,用懒加载getter方式去处理,发现用的时候无论如何属性都是null,调试后,发现根本没进getter方法. (ps:懒加载,又称为延迟加载.说的通俗一点,就是在 ...
- [转]KendoUI系列:Grid
本文转自:http://www.cnblogs.com/libingql/p/3774879.html 1.基本使用 <div id="grid"></div&g ...
- [转]TextArea设置MaxLength属性最大输入值的js代码
标准的DHTML文档中TEXTAREA的MAXLENGTH属性默认情况下不起作用,只有当事件发生时才起作用 如下:http://spiderscript.net/site/spiderscript/e ...
- win10输入法切换快捷键怎么设置
win10输入法切换快捷键怎么修改?以前都是习惯使用(Ctrl+Shift) 现在新版的Win10默认的是[Shift+Alt]那要怎么把它改回来呢? http://jingyan.baidu.com ...
- java函数参数默认值
java函数参数默认值 今天,需要设定java函数参数的默认值,发现按照其它语言中的方法行不通 java中似乎只能通过函数的重载来实现 函数参数默认代码
- ADO.NET防止字符串攻击方法
在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入班级值 --:代表后边内容都被注释掉了 防止SQL注入攻击方法: 再给命令发送SQL语句的时候分两次发送,把SQL语句拆成两块,用户输入的 ...
- 基于tiny6410的madplay播放器的移植
在移植madplay之前需要先将所需要的库移植到开发板的文件系统中. 现在每个解压后的文件夹中创建一个文件夹 zlib-1.1.4.tar.gz 解压:tar xvzf zlib-1.1.4.tar ...
- 漫谈python中的搜索/排序
在数据结构那一块,搜索有顺序查找/二分查找/hash查找,而排序有冒泡排序/选择排序/插入排序/归并排序/快速排序.如果遇到数据量和数组排列方式不同,基于时间复杂度的考虑,可能需要用到混合算法.如果用 ...
- win7的优化-1:隐藏我的电脑导航栏里的收藏等项目
1. Type regedit in RUN or Start Menu search box and press Enter. It'll open Registry Editor. 2. Now ...