主页面布局放入Viewpager控件
<androidx.viewpager.widget.ViewPager android:id="@+id/address_add_viewPager" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center"></androidx.viewpager.widget.ViewPager>建立三个子布局分别引入三个不同的图片 这里只放了一个子布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/img1" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/img2"></ImageView> </LinearLayout>定义变量
private ViewPager mAddressAddViewPager; private View view1, view2, view3; private List<View> viewList = new ArrayList<>();滑块效果实现
LayoutInflater inflater = getLayoutInflater(); view1 = inflater.inflate(R.layout.item_address_add01, null); view2 = inflater.inflate(R.layout.item_address_add02, null); view3 = inflater.inflate(R.layout.item_address_add03, null); viewList.add(view1); viewList.add(view2); viewList.add(view3); PagerAdapter pagerAdapter = new PagerAdapter() { //返回要滑动的VIew的个数 @Override public int getCount() { return viewList.size(); } //视图View和键对象 object是否一致 @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view == object; } //从当前container中删除指定位置(position)的View; @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView(viewList.get(position)); } //初始化item,做了两件事,第一:将当前视图添加到container中,第二:返回当前View作为键 @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } }; mAddressAddViewPager.setAdapter(pagerAdapter);