自定义的广告条(ViewPager)

来源:互联网 发布:淘宝什么样的店铺好 编辑:程序博客网 时间:2024/05/03 11:34

转载注明出处: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() {@Overridepublic 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中,默认是存储到Lrucachepublic final static boolean ISCACHEON_DISC = true;// 是否村存到本地(DiskLruCache)中,默认是存储到Lrucachepublic 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


1 0
原创粉丝点击