• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android实现无限轮播,android实现轮播

android实现无限轮播,android实现轮播

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android实现图片轮播,android实现轮播图,android实现登录注册,android实现页面跳转,android搜索功能实现等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android实现无限轮播,android实现轮播


1 在ViewPager的适配器中的getCount()长度设置无限大Integer.MAX_VALUE

2  明白当前currentIten 为position % images.length;

3  设置一开始ViewPager的位置 viewPager.setCurrentItem((images.length) * 1000);这样刚开始就可以向左滑动了

4  在OnPageChangeListener ViewPager的滑动监听中设置小点的位置

5  设置Handler 定时滑动开启滑动

6 在onResume中发送空消息,在onPause中移除消息将所有的Callbacks和Messages全部清除掉,避免内存泄露。

如下是主代码 图片是本地的

  1 package com.demo.sb.main;
  2 
  3 import java.util.ArrayList;
  4 import com.demo.sb.utils.DensityUtil;
  5 import com.demo.suibian.R;
  6 import android.annotation.SuppressLint;
  7 import android.app.Activity;
  8 import android.os.Bundle;
  9 import android.os.Handler;
 10 import android.support.v4.view.PagerAdapter;
 11 import android.support.v4.view.ViewPager;
 12 import android.support.v4.view.ViewPager.OnPageChangeListener;
 13 import android.view.MotionEvent;
 14 import android.view.View;
 15 import android.view.View.OnClickListener;
 16 import android.view.View.OnTouchListener;
 17 import android.view.ViewGroup;
 18 import android.widget.ImageView;
 19 import android.widget.LinearLayout;
 20 
 21 public class MActivity_Luenbo extends Activity {
 22 
 23     private ViewPager viewPager;
 24     private LinearLayout group;
 25     private int[] images = { R.drawable.a, R.drawable.c, R.drawable.d,
 26             R.drawable.guide_1, R.drawable.guide_2 };
 27     private ArrayList<ImageView> mImageViewList;
 28     private ImageView[] diandian;// ViewPager上的点点
 29     private int selectedItem = 0;
 30 
 31     @Override
 32     protected void onCreate(Bundle savedInstanceState) {
 33         // TODO Auto-generated method stub
 34         super.onCreate(savedInstanceState);
 35         setContentView(R.layout.mactivity_luenbo);
 36         viewPager = (ViewPager) findViewById(R.id.vp_viewPager);
 37         group = (LinearLayout) findViewById(R.id.ll_viewGroup);
 38         init();
 39 
 40     }
 41 
 42     @SuppressLint("HandlerLeak")
 43     private Handler mHandler = new Handler() {
 44         public void handleMessage(android.os.Message msg) {
 45             viewPager.setCurrentItem(selectedItem + 1);
 46             mHandler.sendEmptyMessageDelayed(0, 3000);
 47         };
 48     };
 49 
 50     private void init() {
 51         // TODO Auto-generated method stub
 52         // 引导3个ViewPager
 53         mImageViewList = new ArrayList<ImageView>();
 54         for (int i = 0; i < images.length; i++) {
 55             ImageView imageView = new ImageView(this);
 56             imageView.setBackgroundResource(images[i]);
 57             mImageViewList.add(imageView);
 58         }
 59 
 60         // 将点点加入到ViewGroup中
 61         diandian = new ImageView[images.length];
 62         for (int i = 0; i < images.length; i++) {
 63             // 循环加入点点图片组
 64             diandian[i] = new ImageView(this);
 65             if (i == 0) {
 66                 diandian[i].setImageResource(R.drawable.page_indicator_focused);
 67             } else {
 68                 diandian[i]
 69                         .setImageResource(R.drawable.page_indicator_unfocused);
 70             }
 71             diandian[i].setPadding(8, 8, 8, 8);
 72             group.addView(diandian[i]);
 73         }
 74         viewPager.setAdapter(new GuideAdapter());
 75         // 设置监听,主要是设置点点的背景
 76         viewPager.setOnPageChangeListener(new GuidePagerListener());
 77         // 设置ViewPager的默认项,设置为长度的1000倍,这样开始就能向左滑动了
 78         viewPager.setCurrentItem((images.length) * 1000);
 79     }
 80 
 81     /**
 82      * 每次当onResume有焦点时发送个空消息开始轮播
 83      */
 84     @Override
 85     protected void onResume() {
 86         // TODO Auto-generated method stub
 87         super.onResume();
 88         mHandler.sendEmptyMessageDelayed(0, 2000);
 89     }
 90 
 91     /**
 92      * 当暂停时停止轮播
 93      */
 94     @Override
 95     protected void onPause() {
 96         // TODO Auto-generated method stub
 97         super.onPause();
 98         mHandler.removeCallbacksAndMessages(null);
 99     }
100 
101     /**
102      * ViewPager的适配器
103      * 
104      */
105     private class GuideAdapter extends PagerAdapter {
106 
<



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • android实现无限轮播,android实现轮播

相关文章

  • 2017-05-26Android新手入门2016(16)--画图
  • 2017-05-26我的Android进阶之旅------)Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)
  • 2017-05-26[better practice系列]Android处理好activity正确情况下的生命周期和意外情况下的生命周期浅析
  • 2017-05-26Android Drawable的9种子类 介绍
  • 2017-05-26Android学习笔记(27):日历视图Calendar浅析
  • 2017-05-26Android中的Service,AndroidService
  • 2017-05-26OKHttp,okhttp使用
  • 2017-05-227.6.4 基于UDP协议的Socket通信
  • 2017-05-26谷歌IAP:skusBundle array associated with key ITEM_ID_LIST cannot contain more than 20 items.,jsarraycontain
  • 2017-05-26『原创』手把手教你搭建一个实用的油耗App(一),油耗app

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android-webview的使用小结,android-webview
    • 安卓图片加载之使用universalimageloader加载圆形圆角图片
    • 切割字符串,js分割字符串
    • 减少Building &#39;Xxx&#39; Gradle project info等待时间,buildinggradle
    • 在Android studio中进行单元测试和ui测试的分析
    • Android View体系之从源码解析Scroller的相关内容
    • Android IPC 之 AIDL(一)
    • 离线用户的灰色头像处理,离线灰色头像
    • 2.6.2 菜单(Menu)
    • TextView,iostextview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有