轮播图目前支持三种效果
//通过ImageCycleView.CYCLE_T选择切换类型 效果如下图所示
//CYCLE_VIEW_NORMAL 、 CYCLE_VIEW_THREE_SCALE 、 CYCLE_VIEW_ZOOM_IN
可以通过设置imageCycleView.setCycle_T(ImageCycleView.CYCLE_T.CYCLE_VIEW_THREE_SCALE);随意选择
自动轮播图
CYCLE_VIEW_NORMAL:
CYCLE_VIEW_THREE_SCALE:
CYCLE_VIEW_ZOOM_IN:
Android 自动轮播图,接入方便 ,欢迎使用~
使用说明:
布局文件
<com.jorge.circlelibrary.ImageCycleView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/cycleView"/>
相关Activity中
ImageCycleView imageCycleView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** 找到轮播控件*/
imageCycleView= (ImageCycleView) findViewById(R.id.cycleView);
// 选择切换类型
//ImageCycleView.CYCLE_T 有三种类型 ,效果如上图所示
//CYCLE_VIEW_NORMAL CYCLE_VIEW_THREE_SCALE CYCLE_VIEW_ZOOM_IN 可以随意选择
imageCycleView.setCycle_T(ImageCycleView.CYCLE_T.CYCLE_VIEW_THREE_SCALE);
/**装在数据的集合 文字描述*/
ArrayList<String> imageDescList=new ArrayList<>();
/**装在数据的集合 图片地址*/
ArrayList<String> urlList=new ArrayList<>();
/**添加数据*/
urlList.add("http://attach.bbs.miui.com/forum/month_1012/101203122706c89249c8f58fcc.jpg");
urlList.add("http://bbsdown10.cnmo.com/attachments/201308/06/091441rn5ww131m0gj55r0.jpg");
// urlList.add("http://kuoo8.com/wall_up/hsf2288/200801/2008012919460743597.jpg");
urlList.add("http://attach.bbs.miui.com/forum/201604/05/001754vp6j0vmcj49f0evc.jpg.thumb.jpg");
urlList.add("http://d.3987.com/taiqiumein_141001/007.jpg");
urlList.add("http://attach.bbs.miui.com/forum/201604/05/100838d2b99k6ihk32a36a.jpg.thumb.jpg");
imageDescList.add("小仓柚子");
imageDescList.add("抚媚妖娆性感美女");
imageDescList.add("热血沸腾 比基尼");
imageDescList.add(" 台球美女");
imageDescList.add("身材妙曼");
initCarsuelView(imageDescList, urlList);
}
/**初始化轮播图*/
public void initCarsuelView(ArrayList<String> imageDescList,ArrayList<String>urlList) {
LinearLayout.LayoutParams cParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, getScreenHeight(MainActivity.this) * 3 / 10);
imageCycleView.setLayoutParams(cParams);
ImageCycleView.ImageCycleViewListener mAdCycleViewListener = new ImageCycleView.ImageCycleViewListener() {
@Override
public void onImageClick(int position, View imageView) {
/**实现点击事件*/
Toast.makeText(MainActivity.this,"position="+position,Toast.LENGTH_SHORT).show();
}
@Override
public void displayImage(String imageURL, ImageView imageView) {
/**在此方法中,显示图片,可以用自己的图片加载库,也可以用本demo中的(Imageloader)*/
ImageLoaderHelper.getInstance().loadImage(imageURL, imageView);
}
};
/**设置数据*/
imageCycleView.setImageResources(imageDescList,urlList, mAdCycleViewListener);
// 是否隐藏底部
imageCycleView.hideBottom(true);
imageCycleView.startImageCycle();
}
/**
* 得到屏幕的高度
* @param context
* @return
*/
public static int getScreenHeight(Context context){
if (null == context) {
return 0;
}
DisplayMetrics dm = new DisplayMetrics();
dm = context.getApplicationContext().getResources().getDisplayMetrics();
return dm.heightPixels;
}
内部封装,外部调用起来比较方便 可通过 build.gradle 直接导入或者下载本Demo,拷贝到自己的Project中。
dependencies { compile 'com.jorge.circleview:circlelibrary:1.1.1' }
友情提示:
一: 不要忘记添加 联网 读写 权限, 可以复制 本项目中的权限 。
二:保证 ImageCycleView的 父布局是LinearLayout 否则可能会报异常,比如 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
三: 不要忘记添加 图片缓存框架, 本Demo 中用的是 Android-Universal-Image-Loader ,本地jar包。
四: 工具类 皆可使用本Demo 中已有的。
五:imageCycleView.hideBottom(false) 设置是否展示轮播指示图标
ps: 如还有疑问,可加QQ群 :编程之美 230274309
//next 增加需求 更改字体颜色 图标 .. 有其他需求可以提issue