码迷,mamicode.com
首页 > 其他好文 > 详细

自定义的广告条(ViewPager)

时间:2014-12-22 13:02:56      阅读:385      评论:0      收藏:0      [点我收藏+]

标签: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


自定义的广告条(ViewPager)

标签:viewpager   广告条   压缩图片   图片处理   轮询   

原文地址:http://blog.csdn.net/forwardyzk/article/details/42077481

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!