xml文件 textview 用于显示图片的标题 viewpager 用于实现翻页效果

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" > <TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#123456"
android:textIsSelectable="true"
android:textSize="18sp" />
</LinearLayout> <android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</android.support.v4.view.ViewPager> </LinearLayout>

代码块

 package com.xiang;

 import java.util.ArrayList;

 import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView; public class AutoScrollActivity extends Activity {
private ViewPager vp;
private int imagsID[]={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d};
private String titles[]={"图片一","图片二","图片三","图片四"};
private ArrayList<ImageView> images;
private TextView title;
private ViewPagerAdapter adapter;
private int currentPosition=0;//当前页面位置
private ScheduledExecutorService executor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto_scroll);
init();
} private void init() {
images=new ArrayList<ImageView>();
for(int i=0;i<imagsID.length;i++)
{
ImageView imgview=new ImageView(this);
imgview.setBackgroundResource(imagsID[i]);
images.add(imgview);
}
title=(TextView)findViewById(R.id.title);
title.setText(titles[0]);//默认显示第一张图片
vp=(ViewPager)findViewById(R.id.vp);
adapter=new ViewPagerAdapter();
vp.setAdapter(adapter);
vp.setOnPageChangeListener(listener);
}
OnPageChangeListener listener=new OnPageChangeListener() { @Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
title.setText(titles[arg0]);
currentPosition=arg0;
} @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub }
};
class ViewPagerAdapter extends PagerAdapter
{ @Override
public int getCount() {
// TODO Auto-generated method stub
return images.size();
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;//判断两次图片是否一样
}
@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
ViewPager vp=(ViewPager) container;
vp.addView(images.get(position));
return images.get(position);
}
@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
ViewPager vp=(ViewPager) container;
vp.removeView(images.get(position)); } }
@Override
protected void onStart() {
// TODO Auto-generated method stub
/*
* 第一个参数:要自动执行的方法(任务)
* 第二个参数:延迟几秒启动
* 第三个参数:之后每个几秒 执行第一个参数的方法
* 第四个参数:时间单位 时分秒
*/
super.onStart();
executor=Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new ViewPagerTask(), 2, 2, TimeUnit.SECONDS); }
class ViewPagerTask implements Runnable
{ @Override
public void run() {
// TODO Auto-generated method stub
currentPosition=(currentPosition+1)%images.size();
handler.obtainMessage().sendToTarget();//获取当前消息 发送给handler
} }
private Handler handler=new Handler()
{
public void handleMessage(android.os.Message msg) { vp.setCurrentItem(currentPosition);
};
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.auto_scroll, menu);
return true;
} }

实现效果:图片每隔两秒自动翻页,同时更改图片的标题,到最后一面又返回到第一页显示。2013-10-17

ViewPager实现自动翻页功能 --转载出处找不到了,根据自己的理解写个随笔方便以后的记忆以及代码的共享,感谢给我启发的那位高手--第一次写博客哈的更多相关文章

  1. pyspider示例代码五:实现自动翻页功能

    实现自动翻页功能 示例代码一 #!/usr/bin/env python # -*- encoding: utf- -*- # Created on -- :: # Project: v2ex fro ...

  2. Beta版本——第一次冲刺博客

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  3. 10款无限滚动自动翻页jquery插件

    2012年3月29日 无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的 结果,改变了一直以来只能通过点击下一页来翻页 ...

  4. jsp实现上一页下一页翻页功能

    前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...

  5. ViewPager实现滑动翻页效果

    实现ViewPager的滑动翻页效果可以使用ViewPager的setPageTransformer方法,如下: import android.content.Context; import andr ...

  6. Atitit 翻页功能的解决方案与版本历史 v4 r49

    Atitit 翻页功能的解决方案与版本历史 v4 r49 1. 版本历史与分支版本,项目版本记录1 1.1. 主干版本历史1 1.2. 分支版本  项目版本记录.1 2. Easyui 的翻页组件2 ...

  7. Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx

    Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx 1.1. 翻页的重要意义1 1.2. Dep废弃文档   paip.js翻页分页pageing组件.txt1 ...

  8. jsp实现翻页功能

    jsp实现翻页功能 要实现翻页功能,只需要设置一个pageIndex即可,然后每次加载页面时通过pageIndex去加载数据就行. 那么我们可以设置一个隐藏的input框,用于传递pageIndex给 ...

  9. WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件

    原文:WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件 版权声明:本文为博主原创文章,需要转载尽管转载. https://blog.csdn.net/z ...

随机推荐

  1. hibernate hql

    hibernate在使用hql进行select count(*) from ObjectA left join fetch apath 时会报错,多余的left join去掉即可.

  2. iPhone5停留在语音的界面,提示按三次home键,无法继续下去

    不知道之前用户是怎么操作的,可能是刷机或恢复出厂设置.穷人,没用玩过iPhone. 根据提示关键词,网上搜索,发现只需要按三次home,三次锁屏,三次锁屏,最后再三次home就可以了. 试了两次,还真 ...

  3. CentOS_7.2安装Redis_3.0

    一.安装依赖包和开发工具: yum install vim vim-enhanced wget zip unzip telnet ntsysv compat* apr* nasm* gcc gcc* ...

  4. css3放大效果

    参考案例: http://www.web-designers.cn/ http://www.harmay.com/ 鼠标经过图片,图片放大. 1.html: <body> <div& ...

  5. 定时器springMVC

  6. TEA,XXTEA介绍,对称加密

    总结:在使用加密的时候,我们可以加入随机数,这样相同的明文,每次加密后得到不同的密文,同时可以在密文中加入密文有效期,控制密文的有效时间长度. 针对有的功能扩展使用,很好的思想. TEA对 64 位数 ...

  7. F2工作流引擎之组织用户模型(四)

    1 概述 工作流组织模型是工作流引擎中核心重要的一部份,是实现人机交互中不可或缺的组成部分,而由于工作流引擎需要适应不同的系统之间存在组织用户结构的不同, 如组织表中字段名不同,所以需要实现适应不同系 ...

  8. yii2 配置文件加载顺序, 以及调用自定义配置信息。

    在配置上一般有以下问题: 每个团队成员都会有自己的配置项,提交这样的配置项将会影响其他团队成员: 生产库密码和API密钥不应该出现在代码库中: 有多个服务器环境的情况:开发.测试.生产:每一种环境应该 ...

  9. 前端面试题 之 JavaScript

    昨天我们一起分享了关于html和css的面试题<前端面试题之Html和CSS>,今天我们来分享关于javascript有关的面试题.我面试的时候最害怕面试官问我js了,因为我真心不擅长这个 ...

  10. iOS系统网络抓包方法

    转到自己的博客收藏. 1. 网络共享 + 可视化抓包工具 基本原理 原理比较简单,ios设备通过代理方式共享连接mac电脑的无线网卡,使用抓包工具抓包,然后进行分析(我们推荐使用Wireshark,在 ...