自定義輪播圖
阿新 • • 發佈:2018-12-22
//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>