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. excle表格生成网页

    用Dreamweaver可以方便生成和excle表格一样的代码. 复制excle,粘贴

  2. 初探Backbone

    Backbone简介 中文API:http://www.csser.com/tools/backbone/backbone.js.html 英文API:http://backbonejs.org/ B ...

  3. android studio异常关机后出现的问题

      使用android studio 时突然卡死. 重启后所有项目都打不开,提示workspace.xml  Error:content is not allowed in prolog 打开work ...

  4. CSS轮廓outline

    http://www.cnblogs.com/xiaohuochai/p/5277416.html

  5. WPF知识总结(一)

    在一个项目中, 发现有的项目引用的动态库是一个网页地址,下面就看看这个网页地址怎么来的. 目标:新建一个WPF工程,实现一个用户控件的功能.在 工程中加入一个类库,然后在类库中增加一个用户控件页面,在 ...

  6. CentOS_7.2安装Redis_3.0

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

  7. iOS -初识UIKit

    UIKit框架:UI界面上每一个元素都是一个对象 一张图片是UIimageView对象 一段文字是一个UILabei对象 一个按钮是一个UIButton对象 搭建UI界面的步骤 利用类创建对象 将对象 ...

  8. asp.net js获取控件ID

    ClientID是由ASP.Net生成的服务器控件得客户端标识符,当这个控件生成到客户端页面的时候,在客户端代码访问该控件时就需要通过ClientID来访问. 以文本框为例: 一.未使用母版页 js可 ...

  9. 无废话WCF入门教程六[一个简单的Demo]

    一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...

  10. centOS 6.7 中安装matlab R2014b

    参考资料: [1] http://www.centoscn.com/image-text/config/2014/1222/4354.html 系统: centOS 6.7 2.6.32-573.el ...