ViewPage无限循环
来源:互联网 发布:淘宝搞活动时间 编辑:程序博客网 时间:2024/04/28 15:25
实现轮播的效果ViewPage:分为“假无限循环”和“真无限循环”。
首先我们要了解viewpage这个控件,这个控件主要的作用是滑动效果,它和listview类似也有个适配器PagerAdapter,因此如果我们写个适配器继承PageAdapter设置它的长度是Integer.MAX_VALUE同时在显示图片的时候通过求余的方式获取显示第几张图片的方法,那么viewpage就实现了这种假无限滑动效果。
@Override public int getCount() { return Integer.MAX_VALUE; }
这种效果可以看做是:0%4 - 1%4 - 2%4 - 3%4 - 4%4 - 5%4 - 6%4 - 7%4 - 8%4………..n%4。
真无限循环效果:3 - 0 - 1 - 2 - 3 - 0。即在首位置添加最后一张图片,在末尾位置添加最初一个图片。
上核心代码吧:
viewpage.xml
<FrameLayout android:layout_width="fill_parent" android:layout_height="200dp" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" ><!-- 用来显示点点的 --> <LinearLayout android:id="@+id/viewGroup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="30dp" android:gravity="center_horizontal" android:orientation="horizontal" > </LinearLayout> </RelativeLayout> </FrameLayout>
ViewPageAdapter.java适配器
@Override public void destroyItem(View container, int position, Object object) { //不加这个判断条件的话,最后一张图片循环显示第一张图片的时候会出现黑屏 if (position != 0 && position != iv.length - 1) { ((ViewPager)container).removeView(iv[position]); } } @Override public Object instantiateItem(View container, int position) { try { ((ViewPager)container).addView(iv[position]); } catch (Exception e) { e.printStackTrace(); } return iv[position]; }
ViewPageActivity.java
@Override public void onPageSelected(int arg0) { //实现循环即在最后一张图片跳或在第一张图片跳时回到第一张图片或最后一张 int position = arg0; if(arg0 == 0){ position = iv.length-2; }else if(arg0 == iv.length-1){ position = 1; } if(position != arg0){ viewPager.setCurrentItem(position,false); } setImageBackground(position-1); }
详细代码下载地址:http://download.csdn.net/detail/lihui_92_11_11/8569651
0 0
- ViewPage无限循环
- android Viewpage 无限循环播放
- ViewPage的无限循环(五)
- viewpage 多张图片的无限循环。
- android viewpage 左右无限循环滑动效果实现!
- Android UI设计——ViewPage的无限循环(五)
- ViewPage无限轮播
- ViewPage 循环滑动bug
- 无限循环
- ViewPage无限轮播小点设置
- ViewPage无限轮播+小圆点
- Viewpage加Handler无限轮播
- viewpage 实现左右循环滑动
- 使用ViewPage实现无缝左右循环滑动
- 无限循环出错原因
- javascript无限循环滚动
- 实现gallery无限循环
- Android Gallery无限循环
- 关于Android Studio配置github
- Python学习笔记(一) -- Python封装日志记录
- 二、Unicode简介
- create as & insert into 语句性能分析
- 九度oj-1191-矩阵最大值
- ViewPage无限循环
- [Leetcode 18, medium] 4 Sum
- 空间索引的相关案例
- 使用xtrabackup备份还原mysql数据库
- WINDOWS消息处理过程
- 在邮件短信或拨号上提示未接来电等等。
- Python学习笔记(二) -- Python封装数据库
- 欢迎使用CSDN-markdown编辑器
- Android日志输出