ViewPager就不多介绍,主要用于手机引导页面、软件导航、轮播图片等情况。

使用它需要引用一个库:android-support-v4.jar,add to build path。

同ListView一样,它也需要设置Adapter管理数据。

首先通过一个ViewPager使用的简单例子开始ViewPager的学习:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><android.support.v4.view.ViewPagerandroid:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="200dp" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignBottom="@id/viewpager"android:background="#33000000"android:orientation="vertical" ><TextViewandroid:id="@+id/image_desc"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="@string/app_name"android:textColor="@android:color/white"android:textSize="18sp" /><LinearLayoutandroid:id="@+id/point_group"android:layout_width="wrap_content"android:layout_gravity="center_horizontal"android:layout_height="wrap_content"android:orientation="horizontal" ></LinearLayout></LinearLayout></RelativeLayout>

Activity:

public class MainActivity extends Activity {private ViewPager viewPager;// 图片资源IDprivate final int[] imageIds = { R.drawable.a, R.drawable.b, R.drawable.c,  R.drawable.d, R.drawable.e };private ArrayList<ImageView> imageList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewPager = (ViewPager) findViewById(R.id.viewpager);imageList = new ArrayList<ImageView>();for (int i = 0; i < imageIds.length; i++) {ImageView im = new ImageView(this);im.setBackgroundResource(imageIds[i]);imageList.add(im);     }
//同ListView一样,ViewPager也需要Adapter管理数据viewPager.setAdapter(new MyAdapter());}/**
*   自定义Adapter,必须实现这4个方法
*/private class MyAdapter extends PagerAdapter{/*** 返回viewPager元素数量*/@Overridepublic int getCount() {return imageList.size();}/*** 实例化一个元素*/@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(imageList.get(position));//container = imageIds[position];
//          return super.instantiateItem(container, position);return imageList.get(position);}/*** 判断是否相等*/@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO 自动生成的方法存根return arg0 == (View)arg1;}/*** 销毁元素*/@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {// TODO 自动生成的方法存根container.removeView((View) object);object = null;}}}

这样,ViewPager的简单demo就完成了,效果如下:

【ViewPager的学习】二、添加图片描述及指示点动态改变

【ViewPager的学习】三、实现自动循环切换

转载于:https://my.oschina.net/u/3126720/blog/803503

【ViewPager的学习】一、简单使用相关推荐

  1. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...

    [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...

  2. Compound学习(二) 简单部署

    Compound学习(二) 简单部署 Compound 是 DeFi 的明星项目之一,定位于去中心化的借贷协议.可以称之为"去中心化的算法银行".Compound 协议是为了开放金 ...

  3. 稀疏表示和字典学习的简单理解

    稀疏表示和字典学习的简单理解 特征分类 稀疏表示 字典学习 特征分类 相关特征:对当前有用的属性 冗余特征:所包含的信息有时能从其他特征中推演出来.如若某个冗余特征恰好对应了学习任务所需"中 ...

  4. 示例及详解:MATLAB多机器人协同编队训练与学习的简单实现

    作者在读学校Singapore University of Technology and Design Established under strong support from MIT, Singa ...

  5. php定义一个计算器函数,php学习之简单计算器实现代码

    PHP实现简单计算器 //单路分支 if(isset($_GET["sub"])) { $num1=true;//数字1是否为空标记 $num2=true;//数字2是否为空标记 ...

  6. Android学习——实现简单的电话拨号

    Android学习--实现简单的电话拨号 新建工程 1.编辑界面 2.编辑MainActivity 3.编辑权限 新建工程 1.编辑界面 设置为线性布局.输入框提示(输入类型为数字).添加图片按钮 & ...

  7. 用对方法,开发与部署深度学习原来如此简单……

    相信大部分人都会谈癌色变,正如我们所知的一样,晚期癌症患者的生存率低于 20%,而尽管早期患者可以被治愈,且治愈率高达 90% 以上,但因为大部分癌症早期起病隐匿,更重要的原因在于受限于现有医疗水平, ...

  8. asp.net初学习实现简单的增删改查功能

    在学习中发现网页模板可以大大节约重复的页面代码,同时对于WebSite开发的程序在不同的页面直接调用已写好的代码既不方面,只是作为代码量不大的程序进行开发还是比较方便. get和post的区别get是 ...

  9. 图解深度强化学习(简单的)

    其实理解起来就是环境是一个根据输入输出响应信息的一个标注器 其他的就是一个神经网络, 只不过输入和输出是环境的输入和输出,神经网络就是智能体.代替和模拟其他左右动作,就人类环境而言,我们是和环境学习的 ...

最新文章

  1. android 利用eclipse观察内存变化情况
  2. 括号配对问题 -- ACM解决方法
  3. 《AIOps在360的落地实践》分享实录
  4. Spring框架----Spring的bean注解
  5. Linux下文件开头的feff的问题
  6. 掘金 Markdown 语法手册
  7. 基于AWS的电子商务网站架构——营销与推荐服务
  8. js rsa java解密_JS-RSA加密解密
  9. 程序员找女朋友都有哪些标准?
  10. 高德地图API总结--地图加载、权限,定位
  11. 一点处的导数无法确定单调性
  12. Scratch编程与美术:制作美丽的烟花!
  13. 阿里云APP产品功能及使用介绍
  14. excel删除重复的行
  15. Java音乐播放器设计
  16. 某验通杀js版,流程各个验证码那对应的js分析,你确定不进来看看(无感)?
  17. GitHub上最火的40个iOS开源项目
  18. 视频文件打不开怎么修复
  19. 力扣每日一题每天自动邮件提醒
  20. python程序员用什么电脑好_程序员写代码用什么电脑好,前辈们推荐一下哈?

热门文章

  1. HDU 4411 Arrest
  2. 课程设计-商店管理系统(三)----前端页面的制作(三)
  3. 几个逼真的页面 watch out
  4. 句子很美,看得叫人掉泪
  5. Computer Organization and Architecture 10th - William Stallings
  6. socket 实现在线聊天室功能
  7. ❤️❤️HarmonyOS(鸿蒙)全网最全资源汇总,吐血整理,赶紧收藏!❤️❤️
  8. 红帽RHCE认证含金量怎么样?学红帽难吗?
  9. NAT和代理服务器解析
  10. 循环神经网络:循环神经网络