如何让一个viewpager 自动循环循环切换

匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。&>&ViewPager实现循环滚动切换Fragment
ViewPager实现循环滚动切换Fragment
上传大小:1.41MB
ViewPager实现了循环滚动的Fragment,当滑动到最后和第一页开始循环滚动的时候,没有动画效果。
综合评分:3.4(11位用户评分)
所需积分/C币:
下载个数:149
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有9条
垃圾,一分不值
很不错的资源,谢谢
一般般,不怎么好用
挺不错的思路
就死可惜没有动画效果
要不然就完美了
这,,我看错 以为是自动滑动呢,这都要2分,坑
一般吧,不是很好用
挺好的,解决了fragment循环滑动的问题,思路不错。
说实话不怎么好用
还不错,对我有用
审核通过送C币
Android原生、混合新闻客户端源码汇集
创建者:mpegfour
gradle离线下载集合
创建者:zyq
微信商城专辑
创建者:velada
上传者其他资源上传者专辑
仿造映客的跑马灯效果
仿映客直播的刷礼物效果
android模仿支付密码输入效果
android简单旋转菜单
仿iphone的点击按钮弹出二级菜单效果
移动开发热门标签
VIP会员动态
下载频道用户反馈专区
下载频道积分规则调整V1710.18
开通VIP,海量IT资源任性下载
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
为了良好体验,不建议使用迅雷下载
ViewPager实现循环滚动切换Fragment
会员到期时间:
剩余下载个数:
剩余C币:593
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站600个资源免积分下载
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
全站600个资源免积分下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站600个资源免积分下载
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
unfind0829
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
ViewPager实现循环滚动切换Fragment2285人阅读
Android 零碎知识(94)
要实现效果如图:
(一)实现循环滑动:
(1)在MyAdapter中首先修改getCount()方法中的大小,让ViewPager可滑动页面增多。
(2)instantiateItem()方法中将position对图片数组求余:position%imageList.size()
(3)如果viewPager设置了OnPagerChangedListener方法,里面可能会有position,注意将position求余,否则可能会由于position作索引下标导致数组溢出异常。
(4)以上操作只能右循环,要实现左循环,只需把初始位置设置为getCount()方法中返回大小的一半,那样我们就可以向左滑
(注意:这只是看起来循环,实际上只不过是N个View在重复这5中View。
如下:0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5.....0,1,2,3,4,5)
代码如下:
private class MyAdapter extends PagerAdapter{
* 返回viewPager元素数量
public int getCount() {
return imageList.size()*100;
* 实例化一个元素
public Object instantiateItem(ViewGroup container, int position) {
container.addView(imageList.get(position%imageList.size()));
return imageList.get(position%imageList.size());
* 判断是否相等
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO 自动生成的方法存根
return arg0 == (View)arg1;
* 销毁元素
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO 自动生成的方法存根
container.removeView((View) object);
(二)实现自动滚动,设定一个定时器
&* 自动循环有多种实现方式:
&* 1、定时器:Timer
&* 2、开子线程 while &true 循环
&* 3、ColckManager&
&* 4、 用handler 发送延时信息,实现循环
这里我们用第四种,比较高效:
&span style=&white-space:pre&& &/span&//判断是否自动滚动的标志
private boolean isrunning =
* 自动滑动的Handler
* 利用 Handler.sendEmptyMessageDelayed方法,实现定时滚动
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
//让ViewPager滑到下一页
viewPager.setCurrentItem(viewPager.getCurrentItem()+1);
//延时,循环调用handler
if(isrunning){
handler.sendEmptyMessageDelayed(0, 2000);
* Activity生命周期结束时终止定时,否则可能一直进行下去
protected void onDestroy() {
super.onDestroy();
isrunning =
在onCreate()方法中发送一个消息启动Handler。
handler.sendEmptyMessageDelayed(0, 2000);
为了在Activity生命周期结束时终止定时器,重写onDestory方法,里面将定时器标志置为false,停止定时即可。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1123149次
积分:13421
积分:13421
排名:第1062名
原创:255篇
转载:76篇
译文:15篇
评论:844条
我是会成为架构师的男人!
《走心的中级安卓工程师跳槽经验分享》
9 月份最新的中级安卓面试经验,这次跳槽我面试了 5 家全部拿到 offer,总结分享给大家。
如果您觉得我的文章有帮助,欢迎打赏我,那将是极大的鼓励
文章:12篇
阅读:41498
文章:15篇
阅读:49721
文章:34篇
阅读:142319
(1)(1)(2)(2)(9)(12)(9)(3)(2)(2)(6)(4)(13)(22)(14)(19)(9)(2)(7)(5)(9)(9)(25)(7)(3)(39)(13)(32)(29)(24)(4)(1)(2)(2)(2)(1)}

我要回帖

更多关于 viewpager切换动画 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信