GitHub 上面介绍的更详细:https://github.com/CodingForAndroid/CircleViewPager
布局文件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context="com.jorge.circleviewpager.MainActivity">
- <com.jorge.circlelibrary.ImageCycleView
- android:layout_height="wrap_content"
- android:layout_width="fill_parent"
- android:id="@+id/cycleView"/>
- </LinearLayout>
相关Activity
- package com.jorge.circleviewpager;
- import android.content.Context;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.DisplayMetrics;
- import android.view.View;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import com.jorge.circlelibrary.ImageCycleView;
- import java.util.ArrayList;
- public class MainActivity extends AppCompatActivity {
- ImageCycleView imageCycleView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- /** 找到轮播控件*/
- imageCycleView= (ImageCycleView) findViewById(R.id.cycleView);
- /**装在数据的集合 文字描述*/
- 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://d.3987.com/taiqiumein_141001/007.jpg");
- urlList.add("http://kuoo8.com/wall_up/hsf2288/200807/2008071115370276173.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) {
- /**实现点击事件*/
- }
- @Override
- public void displayImage(String imageURL, ImageView imageView) {
- /**在此方法中,显示图片,可以用自己的图片加载库,也可以用本demo中的(Imageloader)*/
- ImageLoaderHelper.getInstance().loadImage(imageURL, imageView);
- }
- };
- /**设置数据*/
- imageCycleView.setImageResources(imageDescList,urlList, mAdCycleViewListener);
- 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;
- }
- }
内部封装,外部调用起来比较方便可以去Github 中下载 library(里面只有两个文件) 来导入项目中
https://github.com/CodingForAndroid/CircleViewPager
也可以 通过下面方式导入, build.gradle
直接导入 dependencies { compile 'com.jorge.circleview:circlelibrary:1.0.0'}