Android 自动循环滚动图片(广告)附带导航小圆点

用viewpage实现了滚动图片,自动循环的效果,附带导航的小圆点

效果图如下:

准备工作:

下载我打包好的jar包,放入项目的libs文件夹下即可使用

下载地址:http://download.csdn.net/detail/u012027644/8744019

使用方法:

Activity的代码:

public class MainActivity extends Activity {

	MyImgScroll myPager; // 图片容器
	LinearLayout ovalLayout; // 圆点容器
	private List<View> listViews; // ImageView组
	private List<String> urlList; //图片地址列表

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		myPager = (MyImgScroll) findViewById(R.id.myvp);
		ovalLayout = (LinearLayout) findViewById(R.id.vb);
		geyImageUrl();//获取图片地址
		initViewPager();//初始化图片
		//开始滚动
		myPager.start(this, listViews, 4000, ovalLayout);
	}

	/**
	 * 网络图片地址集
	 */
	private void geyImageUrl(){
		urlList = new ArrayList<String>();
		urlList.add("http://img3.imgtn.bdimg.com/it/u=4062712383,3140853232&fm=21&gp=0.jpg");
		urlList.add("http://pic.58pic.com/58pic/15/16/00/49T58PICiZm_1024.jpg");
		urlList.add("http://www.6188.com/upload_6188s/Small_paper/tebie/3553/s800/2880view_008.jpg");
		urlList.add("http://img4.imgtn.bdimg.com/it/u=1254729582,2442676828&fm=21&gp=0.jpg");
	}

	@Override
	protected void onRestart() {
		myPager.startTimer();
		super.onRestart();
	}

	@Override
	protected void onStop() {
		myPager.stopTimer();
		super.onStop();
	}

	public void stop(View v) {
		myPager.stopTimer();
	}

	/**
	 * 初始化图片
	 */
	private void initViewPager() {
		listViews = new ArrayList<View>();
		//初始化Volley
		RequestQueue mQueue = Volley.newRequestQueue(this);
		ImageLoader imageLoader = new ImageLoader(mQueue, new ImageCache() {
		    @Override
		    public void putBitmap(String url, Bitmap bitmap) {
		    }  

		    @Override
		    public Bitmap getBitmap(String url) {
		        return null;
		    }
		});
		//循环添加ImageView
		for (int i = 0; i < urlList.size(); i++) {
			NetworkImageView imageView = new NetworkImageView(this);
			imageView.setScaleType(ScaleType.CENTER_CROP);
			imageView.setDefaultImageResId(R.drawable.ic_launcher);
			imageView.setErrorImageResId(R.drawable.ic_launcher);
			imageView.setImageUrl(urlList.get(i), imageLoader);
			listViews.add(imageView);
		}
	}
}

注意:示例里使用了获取网络图片的网络框架volley

这里有我打包好的,下载地址:

http://download.csdn.net/detail/u012027644/8547825

下载后放入libs即可

如果是本地图片不需要从网上获取可把NetworkImageView改为ImageView,这里方法就不再赘述。

xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.joe.imgscroll.MyImgScroll
        android:id="@+id/myvp"
        android:layout_width="match_parent"
        android:layout_height="220dp" />

    <LinearLayout
        android:id="@+id/vb"
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:layout_marginTop="3dp"
        android:gravity="center"
        android:orientation="horizontal" >
    </LinearLayout>

</LinearLayout>

id为vb的LinearLayout即为盛放导航小圆点的容器,也可以不要。

最后Demo工程的下载地址:https://github.com/yangjie10930/ImageScroll

时间: 2024-10-21 03:12:37

Android 自动循环滚动图片(广告)附带导航小圆点的相关文章

高仿京东APP首页“京东快报”自动向上滚动的广告条

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51013562 本文出自:[顾林海的博客] 前言 上次在京东APP上买东西时,发现首页中间有块叫"京东快报"的栏目,其中广告条能自动向上滚动,效果还不错,看到这个效果,第一个念头就是我能不能实现,于是就诞生了这篇文章. 我们看看实现后的效果: 实现原理 起初看到这个效果时,第一个想法就是向上移动动画+定时器,但当我准备写时发现,滚动时上下文字都是逐渐出来的(有

循环滚动图片

1.概述 循环滚动图片,不仅可以增添Web页面的动态效果,而且可以节省页面空间,有效地保证在有限的页面中显示更多的图片. 2.技术要点 主要应用setTimeout()方法实现图片的循环滚动效果.setTimeout()方法的语法格式如下: setTimeout(function,milliseconds,[arguments]) 参数说明: a. function:要调用的JavaScript自定义函数名称. b. Milliseconds:设置超时时间(以毫秒为单位). 功能:经过超时时间后

ScrollView循环滚动图片

涉及到banner页或者相册浏览,考虑到性能问题和用户体验性,经常要用到ScrollView循环滚动图片,在此只分析banner页,相册浏览类似: 设计思想: UIScrollView添加三个ImageView:firstImgView,secondImgView,thirdImgView. 当前每次显示的都是secondImgView,firstImgView显示前一张图片,thirdImgView显示后一张图片,若secondImgView显示的是第一张图片,则firstImgView显示最

UIScrollView循环滚动图片

转载自  http://www.jianshu.com/p/aa73c273baf2 我们会经常用到循环滚动图片,包括定时滚动,点击触发事件.以前所知道的循环滚动图片的方法是这样的.比如:一共5张图片,位置为1,2,3,4,5. 创建7个imageView. 将最后一张图片放到第一张图片前面,将第一张图片放到最后一张后面,位置为5,1,2,3,4,5,1. 最后一张图片滚动到第一张图片时,先从第二个图片5滚动到第二个图片1,滚动完之后把位置设置为第一个图片1.从后向前滚动同样的原理. 在scro

IOS实现自动循环滚动广告--ScrollView的优化和封装

一.问题分析 在许多App中,我们都会见到循环滚动的视图,比如广告,其实想实现这个功能并不难,用ScrollView就可以轻松完成,但是在制作的过程中还存在几个小问题,如果能够正确的处理好这些小问题,无论从效果还是性能上都会得到优化. 问题一 第一个问题是如何用ScrollView来展示N个视图.想要实现这个效果,可以把N个视图依次按顺序添加到ScrollView上,然后把 ScrollView的contentSize设置为N个视图的尺寸,通过滑动ScrollView来查看加在上面的视图. 问题

详细分析Android viewpager 无限循环滚动图片

由于最近在忙于项目,就没时间更新博客了,于是趁着周日在房间把最近的在项目中遇到的技术总结下.最近在项目中要做一个在viewpager无限滚动图片的需求,其实百度一下有好多的例子,但是大部分虽然实现了,但是讲的都不清楚,我查了很多资料,我就知道position/list.size().但是怎么用,我还是不明白.我后来看了百度工程师任玉刚的循环广告位组件的实现突然明白了无限滚动的原理.总结如下: 1.要在int getCount() 方法里 写 return BANNER_SIZE.  这个 BAN

iOS 幻灯片的自动循环滚动

首先,我说一下思路,自动滚动的实现是通过定时器进行实现的.当然,考虑到我们在定时循环的时候可能有进行手动滑动,所以我们就要根据 pageControl的当前定点进行判断. 而循环滚动是通过对幻灯片中image多加2进行实现的. 假如你幻灯片中有5个元素需要循环: [0, 1, 2, 3, 4] 那么你在将这四个元素添加到UIScrollView里面的时候,就需要多添加两个,变成这样: [ 4, 0, 1, 2, 3, 4, 0 ] 然后只需要在scrollViewDidEndDecelerati

自动循环滚动ScrollView

// // SBCycleScrollView.h // SBCycleScrollView // // Created by luo.h on 15/7/12. // Copyright (c) 2015年 l.h. All rights reserved. // #import <UIKit/UIKit.h> #import "NSTimer+Addition.h" /** 开启定时器 */ static NSString * const SBCycleScrollVi

IOS无限自动循环滚动banner(源码)

本文转载至 http://blog.csdn.net/iunion/article/details/19080259 目前有很多APP都开始使用一些滚动banner,我自己也做了一个,部分算法没有深思, 只是为了实现功能,毕竟只是几个小时的作品. 滚动做了2种为水平和垂直,自动滚动间隔可设,圆角可设,page位置可设(没做垂直方向的), 关闭btn可设,图片下载是使用SDWebImage的2.0版本,感觉这个旧版本还是比较稳定的, 并增加了gif支持,如图: 编译环境:Xcode5 支持版本:I