首先引入轮播图的一个依赖
compile 'com.hejunlin.superindicatorlibray:superindicatorlibray:1.0.3'
这是这个依赖作者github上的地址https://github.com/hejunlin2013/SuperIndicator
下面是布局文件
帧布局中放置指示针
<com.hejunlin.superindicatorlibray.LoopViewPager
android:id="@+id/looperviewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_48dp"
android:layout_gravity="bottom">
<com.hejunlin.superindicatorlibray.CircleIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"/>
</FrameLayout>
每一个LoopViewPager的布局
我命名为home_pic_item
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_guide"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
/>
<!--layout_gravity 父布局的位置-->
<!--gravity 自己(本身)布局的位置-->
<TextView
android:id="@+id/tv_dec"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_40dp"
android:textSize="@dimen/dimen_28sp"
android:layout_gravity="bottom|left"
android:layout_marginLeft="@dimen/dimen_6dp"
android:textColor="@color/white"
/>
</FrameLayout>
下面是初始化代码:
LoopViewPager viewPager = bindViewId(R.id.looperviewpager);
CircleIndicator indicator = bindViewId(R.id.indicator);
viewPager.setAdapter(new HomePicAdapter(getActivity()));
viewPager.setLooperPic(true);//5s自动轮播
indicator.setViewPager(viewPager); //indicator需要知道viewpager
最后适配器中的代码
public class HomePicAdapter extends PagerAdapter {
private Context mContext;
//文字
private int[] mDes = new int[] {
R.string.a_name,
R.string.b_name,
R.string.c_name,
R.string.d_name,
R.string.e_name,
};
//图片
private int[] mImg = new int[] {
R.drawable.a,
R.drawable.b,
R.drawable.c,
R.drawable.d,
R.drawable.e,
};
public HomePicAdapter(Activity activity) {
mContext = activity;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = LayoutInflater.from(mContext).inflate(R.layout.home_pic_item, null);
TextView textView = (TextView) view.findViewById(R.id.tv_dec);
ImageView imageView = (ImageView) view.findViewById(R.id.iv_img);
textView.setText(mDes[position]);
imageView.setImageResource(mImg[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public int getCount() {
return 5;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
效果图: