ViewPager图片滑动轮换

 

package com.example.viewpagerdemo;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

/**
 * 注:至少需要4张图片才可以正常左右轮换<br>
 * 
 * ViewPager 图片轮换切换 <br>
 * 以及<br>
 * ViewPager 图片通用切换<br> 
*/
public class ThreeActivity extends Activity { private List<View> views = new ArrayList<View>(); private ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_three); viewPager = (ViewPager) findViewById(R.id.viewPager); // views还没有数据 getViews(); viewPager.setAdapter(new MyViewPagerAdapter()); viewPager.setCurrentItem(views.size() * 100); } private void getViews() { ImageView img1 = new ImageView(this); img1.setImageResource(R.drawable.item01); ImageView img2 = new ImageView(this); img2.setImageResource(R.drawable.item02); ImageView img3 = new ImageView(this); img3.setImageResource(R.drawable.item03); ImageView img4 = new ImageView(this); img4.setImageResource(R.drawable.item04); ImageView img5 = new ImageView(this); img5.setImageResource(R.drawable.item05); ImageView img6 = new ImageView(this); img6.setImageResource(R.drawable.item06); ImageView img7 = new ImageView(this); img7.setImageResource(R.drawable.item07); ImageView img8 = new ImageView(this); img8.setImageResource(R.drawable.item08); views.add(img1); views.add(img2); views.add(img3); views.add(img4); views.add(img5); views.add(img6); views.add(img7); views.add(img8); } // 轮换适配器 private class MyViewPagerAdapter extends PagerAdapter { /* * (non-Javadoc) * * @see android.support.v4.view.PagerAdapter#getCount() */ @Override public int getCount() { return Integer.MAX_VALUE; // TODO 完成PagerAdapter.getCount方法的构建或覆盖 } /* * (non-Javadoc) * * @see * android.support.v4.view.PagerAdapter#isViewFromObject(android.view * .View, java.lang.Object) */ @Override public boolean isViewFromObject(View view, Object object) { return view == object; // TODO 完成PagerAdapter.isViewFromObject方法的构建或覆盖 } /* * (non-Javadoc) * * @see * android.support.v4.view.PagerAdapter#instantiateItem(android.view * .View, int) */ @Override public Object instantiateItem(View container, int position) { ((ViewPager) container).addView( views.get(position % (views.size())), 0); return views.get(position % (views.size())); // TODO 完成MyViewPagerAdapter.instantiateItem方法的构建或覆盖 } /* * (non-Javadoc) * * @see * android.support.v4.view.PagerAdapter#destroyItem(android.view.View, * int, java.lang.Object) */ @Override public void destroyItem(View container, int position, Object object) { ((ViewPager) container).removeView(views.get(position % (views.size()))); // TODO 完成MyViewPagerAdapter.destroyItem方法的构建或覆盖 } } // 通用适配器 private class MyViewPagerAdapter1 extends PagerAdapter { @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position), 0); return views.get(position); } } }

 

转载于:https://www.cnblogs.com/zjc0514/p/4360152.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值