1.写一个布局,用于自定义组合控件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp">
<!--图片轮播-->
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="200dp"></android.support.v4.view.ViewPager>
<!--展示小圆点-->
<LinearLayout
android:id="@+id/llt"
android:background="#999999"
android:gravity="center"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp"></LinearLayout>
</RelativeLayout>
2.写一个类继承RelativeLayout,也就是自定义组合控件的类
public class AutoBanner extends RelativeLayout { DianJi dianji; private ViewPager viewPager; private LinearLayout llt; private Myhandler h; public AutoBanner(Context context) { this(context,null); } public AutoBanner(Context context, AttributeSet attrs) { this(context, attrs,0); } public AutoBanner(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); //将布局绘制到控件 LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.mybanner, this, true); //通过id获取控件 viewPager = view.findViewById(R.id.viewpager); llt = view.findViewById(R.id.llt); } //写一个获取数据的方法,同时获取适配器 public void setAdaper(Context context,List<com.bwie.zengxianglin1511j20180102.bean.DataBean> data){ Myadaper m=new Myadaper(context,data); viewPager.setAdapter(m); //写一个集合用于放指示器,也就是小圆点 final List<ImageView> yuandian=new ArrayList(); //有多少图片放几个圆点 for (int i = 0; i < data.size(); i++) { ImageView yuan=new ImageView(context); //给图片添加选中和未选中的状态 yuan.setBackgroundResource(R.drawable.dot_drawable); //添加到集合 yuandian.add(yuan); //这是布局参数,,刚开始小圆点之间没有距离,所以使用java代码指定宽度高度,并且指定小圆点之间的距离 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); p