自定义轮播图

//mainactivity

public class B1Fragment extends Fragment {
//图片数组
private int[] mPic=new int[]{R.mipmap.a,R.mipmap.b,R.mipmap.c,R.mipmap.d};
private ViewPager mShowVp;
private int aaa=0;

private Handler mHandler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        aaa++;
        mShowVp.setCurrentItem(aaa);
        sendEmptyMessageDelayed(0,2000);
    }
};

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_b1, null);
    initView(view);
    return view;
}

private void initView(View view) {
    mShowVp = view.findViewById(R.id.Show_vp1);

// MyVpAdapter madapter=new MyVpAdapter();
mShowVp.setAdapter(new MyVpAdapter(getContext()));
mHandler.sendEmptyMessageDelayed(0,2000);
}

}

//适配器
public class MyVpAdapter extends PagerAdapter {
private Context mContext;

public MyVpAdapter(Context mContext) {
    this.mContext = mContext;
}

private int[] mPic=new int[]{R.mipmap.a,R.mipmap.b,R.mipmap.c,R.mipmap.d};
@Override
public int getCount() {
    return Integer.MAX_VALUE;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
    return view==o;
}

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
   //查找控件
    ImageView mImg=new ImageView(mContext);
    //设置图片
    mImg.setImageResource(mPic[position%mPic.length]);
    //设置宽和高
    mImg.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
    //设置图片方向
    mImg.setScaleType(ImageView.ScaleType.FIT_XY);
    container.addView(mImg);
    return mImg;
}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
  //  super.destroyItem(container, position, object);
    container.removeView((View) object);
}

}

//布局
<android.support.v4.view.ViewPager
android:id="@+id/Show_vp1"
android:layout_width=“match_parent”
android:layout_height=“180dp”></android.support.v4.view.ViewPager>

猜你喜欢

转载自blog.csdn.net/qq_43603325/article/details/84203612
今日推荐