自定义的广告条(ViewPager)

转载注明出处:http://blog.csdn.net/forwardyzk/article/details/42077481

广告条在开发中是经常用到的,现在自己学了一个广告条,直接导入就可以使用

1.根据传入的Url个数,会自动的创建对应的ImageView和对应的图片点。

2.动态的设置加载图片的失败,为空,默认加载的状态。

3.动态的设置图片点默认状态和选中状态

4.对加载的图片进行的优化(LruCache和DiskLruCache)

5.动态设置图片的点击事件

使用步骤:

1.导入对应的包(my.custom.sview)(下载地址:http://download.csdn.net/detail/forwardyzk/8285055)

2.在布局文件中写入

 <my.custom.sview.AdView
        android:id="@+id/adview_images"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >
    </my.custom.sview.AdView>

不要忘了添加权限:

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3.获取对象

AdView adview = (AdView) findViewById(R.id.adview_images);

4.添加图片

传入的是ImageView加载图片的Url集合List<String>

adview.setImageUrls(urls);

举例url:

http://e.hiphotos.baidu.com/image/pic/item/a5c27d1ed21b0ef40f6f1042dec451da81cb3e22.jpg

就会根绝你传入的url的个数,自动的创建ImageView和对应的点

5.更改图片对应点的背景

package my.custom.sview.AdConstant常量类中修改

DEFAULT_POINT_STATE:默认状态的点的背景

SELECTED_POINT_STATE:选中状态的背景

COUNT:广告条适配器设置的count数量,这样会自动的轮训,如果设置成ImageView的数量,那么到最后一张跳转到第一张的时候,显得不那么自然

6.设置广告条图片的点击事件

setAdImageListener(AdImageListener lis)

是以ImageView加载的Url为Tag标记。来判断点击的是那一个图片

 adview.setAdImageListener(new AdImageListener() {

			@Override
			public void cliclImageView(String tag) {
				if (url1.equals(tag)) {
				//在这里处理ImageView为url1的点击操作
				}
			}
		});

7.设置广告条图片加载的图片选项

DisplayImageMyOptions mOptions = new DisplayImageMyOptions
				 .Builder()
				.showImageForEmptyUri(R.drawable.empty_loader)//加载的url为空,默认展示的图片
				.showImageOnFail(R.drawable.error)//加载失败,默认展示的图片
				.showStubImage(R.drawable.default_loader)//加载前默认展示的图片
				.setRatio(false)//是否设置压缩图片,false:不压缩,后面即使设置压缩的宽和高也无效 true:压缩,后面设置的压缩的长和宽就有效
				.setRatioWidth(100)//压缩的宽度
				.setRatioHeight(100)//压缩的高度
				.build();
		adview.setMyOptions(mOptions);//设置加载图片的选项

以上的操作当然也可以不设置,有默认的选项

package my.custom.sview.image.ConstantLoader

public class ConstantLoader {
	public final static int MAXMEMORY = (int) Runtime.getRuntime().maxMemory();// 最大运行内存
	public final static int MAXMEMORY8 = MAXMEMORY / 8;// 最大运行内存的八分之一
	// 如果想改变值,可以修改此值
	public final static int MAXMEMORYF_FOR_LRUCACHE = MAXMEMORY8;// 给LurCache设置的最大的运行内存,默认的是最大运行内存的八分之一
	public final static String CACHE_FILENAME = "thumb";// 图片缓存目录名字
	public final static int DEFAULT_LOADIMAGEID = R.drawable.ic_launcher;
	public final static boolean ISSHOW_IMAGELOADER_LOG = true;// 是否打印Log日志
	public final static boolean ISCACHEIN_MEMORY = true;// 是否村存到LruCache中,默认是存储到Lrucache
	public final static boolean ISCACHEON_DISC = true;// 是否村存到本地(DiskLruCache)中,默认是存储到Lrucache
	public final static boolean ISSET_RATIO = true;// 是否设置压缩比例,默认不压缩图片
	public final static int RATIO_STANDARD_WIDTH = 100;// 如果设置了需要压缩,默认的压缩宽度
	public final static int RATIO_STANDARD_HEIGHT = 100;// 如果设置了需要压缩,默认的压缩高度
	public final static String LOG_D_TAG = "MyImageLoader";
}

如果想修改默认值,也可以修改这里对应的值即可

有不妥的地方,需要完善的地方,希望大家指出。互相学习,互相进步。

源码下载地址:http://download.csdn.net/detail/forwardyzk/8285055

时间: 2024-10-30 01:45:18

自定义的广告条(ViewPager)的相关文章

自定义控件(视图)28期笔记03:自定义控件之使用系统控件(广告条Viewpager)

1.首先我们看看运行效果,如下: 2. 下面就是详细实现这个效果的过程: (1)新建一个Android工程,命名为"广告条的效果",如下: (2)这里用到一个控件ViewPager,这个控件是在android-support-v4.jar(google提供扩展工具包)之中.这个包里面工具控件使用要使用全路径名声明(在Activity 或者 xml 中需要工具控件的全路径名). 在上面android-support-v4.jar下找到包android.support.v4.view中有V

广告条效果实现----ViewPager加载大图片(LruCache)以及定时刷新

先来看看效果: 1.广告条效果应该是使用的比较广泛的一个效果了,使用的基本构架就是一个ViewPager组件,在低版本的Android中,我们需要手动导入v4 jar包才可以使用. 2.ViewPager的加载方式与listview的加载方式不太一样,对于listview,其中总是会使用到子view的复用,但是对于viewpager,动态滑动的时候,它只保持三个页面在内存中,也就是:当前显示页面,前一个页面和后一个页面:其他页面都被销毁释放掉. 3.对于大图片的加载,如果不做处理,可能一两张图片

Android自定义组件系列【16】——最帅气的自动滚动广告条

前一段时间要实现一个滚动的广告条,参考了一下网上许多实现,发现实现都很麻烦,所以我决定自己使用ViewFlipper来实现一个,在此将代码贴出来,与大家共享. 转载请说明出处:http://blog.csdn.net/dawanganban import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import com.guozha.buy.R; i

ViewPaper实现轮播广告条

使用V4包中的viewPaper组件自定义轮播广告条效果. 实现viewpaper的滑动切换和定时自动切换效果. 上效果图 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&quo

Android自定义控件——仿淘宝、网易、彩票等广告条、Banner的制作

尊重作者劳动成果,转载时请标明该文章出自 http://blog.csdn.net/allen315410/article/details/39294343 最近翻看以前的某项目时,发现了一个极其常用的效果--广告条,或者也称不上自定义组件,但是使用频率还是相当普遍的. 打开市面上各大App主界面,或多或少会出现这样的东西,甚至一个应用中出现N多个,这种展示广告的效果,不仅动态效果好,而且众所周知的"不占屏",想想在手机设备这么小的屏幕尺寸下,能放下几页甚至十几页的广告循环播放,就知道

android自定义控件之滚动广告条

在一些电子商务网站上经常能够看到一些滚动的广告条,许多软件在首次使用时也有类似的广告条,如图: 其实在github上有实现这种效果的控件,不过这东西做起来也是很简单,我们今天就来看看该怎么做. 先来看看布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and

为ios app添加广告条

1.广告简介 2.实现步骤: 1>.添加 iAd.framework 框架 2,使用storyboard 运行结果: 2>添加 ADBannerView 视图,并设置代理方法 3>思想:一开始红色view的底部约束广告条的最底部,遮住广告条. 让广告条加载完成之前隐藏. 加载完成之后,修改红色view的地步约束 4>导入头文件,遵守协议,代码如下

Android Banner 广告条

package com.example.ex_templete; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.util.AttributeSet; import android.util.

Android学习笔记18:自定义Seekbar拖动条式样

Android学习笔记18:自定义Seekbar拖动条式样