android 广告自动循环播放(CircleViewPager)

来源:互联网 发布:打色子软件 编辑:程序博客网 时间:2024/05/21 10:55

转载自:http://blog.csdn.net/u011733020/article/details/50163045

GitHub 上面介绍的更详细:https://github.com/CodingForAndroid/CircleViewPager      

 布局文件

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3. xmlns:tools="http://schemas.android.com/tools"  
  4. android:layout_width="match_parent"  
  5. android:layout_height="match_parent"  
  6. android:paddingBottom="@dimen/activity_vertical_margin"  
  7. android:paddingLeft="@dimen/activity_horizontal_margin"  
  8. android:paddingRight="@dimen/activity_horizontal_margin"  
  9. android:paddingTop="@dimen/activity_vertical_margin"  
  10. tools:context="com.jorge.circleviewpager.MainActivity">  
  11. <com.jorge.circlelibrary.ImageCycleView  
  12. android:layout_height="wrap_content"  
  13. android:layout_width="fill_parent"  
  14. android:id="@+id/cycleView"/>  
  15. </LinearLayout>  


相关Activity
[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. package com.jorge.circleviewpager;  
  2. import android.content.Context;  
  3. import android.support.v7.app.AppCompatActivity;  
  4. import android.os.Bundle;  
  5. import android.util.DisplayMetrics;  
  6. import android.view.View;  
  7. import android.widget.ImageView;  
  8. import android.widget.LinearLayout;  
  9. import com.jorge.circlelibrary.ImageCycleView;  
  10. import java.util.ArrayList;  
  11. public class MainActivity extends AppCompatActivity {  
  12. ImageCycleView imageCycleView;  
  13. @Override  
  14. protected void onCreate(Bundle savedInstanceState) {  
  15. super.onCreate(savedInstanceState);  
  16. setContentView(R.layout.activity_main);  
  17. /** 找到轮播控件*/  
  18. imageCycleView= (ImageCycleView) findViewById(R.id.cycleView);  
  19. /**装在数据的集合 文字描述*/  
  20. ArrayList<String> imageDescList=new ArrayList<>();  
  21. /**装在数据的集合 图片地址*/  
  22. ArrayList<String> urlList=new ArrayList<>();  
  23. /**添加数据*/  
  24. urlList.add("http://attach.bbs.miui.com/forum/month_1012/101203122706c89249c8f58fcc.jpg");  
  25. urlList.add("http://bbsdown10.cnmo.com/attachments/201308/06/091441rn5ww131m0gj55r0.jpg");  
  26. urlList.add("http://kuoo8.com/wall_up/hsf2288/200801/2008012919460743597.jpg");  
  27. urlList.add("http://d.3987.com/taiqiumein_141001/007.jpg");  
  28. urlList.add("http://kuoo8.com/wall_up/hsf2288/200807/2008071115370276173.jpg");  
  29. imageDescList.add("小仓柚子");  
  30. imageDescList.add("抚媚妖娆性感美女");  
  31. imageDescList.add("热血沸腾 比基尼");  
  32. imageDescList.add(" 台球美女");  
  33. imageDescList.add("身材妙曼");  
  34. initCarsuelView(imageDescList, urlList);  
  35. }  
  36. /**初始化轮播图*/  
  37. public void initCarsuelView(ArrayList<String> imageDescList,ArrayList<String>urlList) {  
  38. LinearLayout.LayoutParams cParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, getScreenHeight(MainActivity.this) * 3 / 10);  
  39. imageCycleView.setLayoutParams(cParams);  
  40. ImageCycleView.ImageCycleViewListener mAdCycleViewListener = new ImageCycleView.ImageCycleViewListener() {  
  41. @Override  
  42. public void onImageClick(int position, View imageView) {  
  43. /**实现点击事件*/  
  44. }  
  45. @Override  
  46. public void displayImage(String imageURL, ImageView imageView) {  
  47. /**在此方法中,显示图片,可以用自己的图片加载库,也可以用本demo中的(Imageloader)*/  
  48. ImageLoaderHelper.getInstance().loadImage(imageURL, imageView);  
  49. }  
  50. };  
  51. /**设置数据*/  
  52. imageCycleView.setImageResources(imageDescList,urlList, mAdCycleViewListener);  
  53. imageCycleView.startImageCycle();  
  54. }  
  55. /** 
  56. * 得到屏幕的高度 
  57. * @param context 
  58. * @return 
  59. */  
  60. public static int getScreenHeight(Context context){  
  61. if (null == context) {  
  62. return 0;  
  63. }  
  64. DisplayMetrics dm = new DisplayMetrics();  
  65. dm = context.getApplicationContext().getResources().getDisplayMetrics();  
  66. return dm.heightPixels;  
  67. }  
  68. }  


内部封装,外部调用起来比较方便可以去Github 中下载 library(里面只有两个文件) 来导入项目中 

https://github.com/CodingForAndroid/CircleViewPager


也可以 通过下面方式导入, build.gradle 
直接导入 dependencies {    compile 'com.jorge.circleview:circlelibrary:1.0.0'}

0 0
原创粉丝点击