Android开发中怎么实现图片轮播功能
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"Android开发中怎么实现图片轮播功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android开发中怎么实现图片轮播功能"吧!第一
千家信息网最后更新 2025年01月18日Android开发中怎么实现图片轮播功能
本篇内容主要讲解"Android开发中怎么实现图片轮播功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android开发中怎么实现图片轮播功能"吧!
第一步:创建MainActivity类
public class BaseActivity extends ActionBarActivity { private ListmDatas; private ViewPager mViewPager; private boolean isRun = false; private AutoRunTask mTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mViewPager = new ViewPager(this); mViewPager.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, Util .getDimen(R.dimen.home_pic_height))); mViewPager.setAdapter(new HomePagerAdapter()); // 设置滑动的初始位置 mViewPager.setCurrentItem(1000 * mDatas.size()); mViewPager.setOnTouchListener(this); mTask = new AutoRunTask(); mTask.start(); } @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mTask.stop(); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: mTask.start(); break; default: break; } return false; //viewpager必须是false,如果是true是就不能移动 }}
第二步:创建无限循环的PagerAdaper
class HomePagerAdapter extends PagerAdapter { // 使用此对imageView进行复用 private LinkedListconvertViews = new LinkedList (); @Override public int getCount() { // return mPicUrls.size(); return Integer.MAX_VALUE; // 可以无线滑动 } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) { if (object != null && object instanceof ImageView) { ImageView imageView = (ImageView) object; // 添加到集合里 convertViews.add(imageView); container.removeView(imageView); } super.destroyItem(container, position, object); } @Override public Object instantiateItem(ViewGroup container, int position) { // position 因为无线大,所以 int index = position % mDatas.size(); ImageView imageView = null; if (convertViews != null && convertViews.size() > 0) { // 取出一个imageView imageView = convertViews.remove(0); } else { imageView = new ImageView(Util.getContext()); } String uri = HttpHelper.URL + "image?name=" + mDatas.get(index); mBitmapUtils.display(imageView, uri); container.addView(imageView); return imageView; }}
第三步:使用handler创建轮播类
public class AutoRunTask extends Handler implements Runnable { @Override public void run() { while (isRun) { removeCallbacks(this); int currentItem = mViewPager.getCurrentItem(); currentItem++; mViewPager.setCurrentItem(currentItem); postDelayed(this, 2000); } } public void start() { if (!isRun) { removeCallbacks(this); isRun = true; postDelayed(this, 2000); } } public void stop() { if (isRun) { isRun = false; removeCallbacks(this); } }}
到此,相信大家对"Android开发中怎么实现图片轮播功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
功能
图片
开发
内容
无线
学习
实用
更深
位置
兴趣
实用性
实际
操作简单
方法
更多
朋友
网站
频道
复用
循环
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
类12306网页导入数据库
海康服务器开机出现login
微信聊天服务器注册失败
软件开发转语言简历怎么写
在数据库中如何查询所有字段
软件开发三层结构优缺点
松江区智能软件开发推荐
国有企业网络安全培训讲稿
如何下载网络技术
信息网络技术专业好吗
算法的发展对网络安全重要性
新技术方向及其网络安全问题
投影数据库例题
服务器不识别u盘
数据库质疑怎么找回
奉贤区大型软件开发服务
数据库如何和vs链接
南京联通软件开发待遇
宁大网络安全
佛山千量网络技术有限公司
软件开发30岁以后在干
重庆国瑞网络技术
如何设计数据库论文
腾讯视频服务器连接失败怎么回事
网络安全主题班会的演讲
中职生软件开发期末总结
云服务器不能运行软件
搞软件开发的小说
腾讯云服务器apache怎么用
北京锦程希望网络技术有限公司