ViewPager使用指南(入门)

    xiaoxiao2022-07-07  215

    Viewpager意味视图翻页工具,Android 3.0后引入的一个UI控件,位于v4包中,这个类可以让用户左右切换当前的 view,就是我们通过创建adapter给它填充多个view,左右滑动时,可以切换不同的view。 Viewpager在Android开发中使用频率还是比较高的,接下来就用一个最简单的Demo讲解一下。 首先我们要定义一个ViewPager控件,因为它位于v4包中,所以定义的方式是:

    <android.support.v4.view.ViewPager android:id="@+id/View_Pager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager>

    然后根据自己的需要创建View,这里我就创建了三个 first.xml, second.xml, third.xml 这三个View我没多做什么操作,只写了一个TextView 就下来就是主代码的编写

    package com.example.viewpagerdemo; import android.support.annotation.NonNull; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; public class ImageViewPagerAdapter extends AppCompatActivity { private ViewPager viewPager; //编辑3个View private int[] mLayoutIDs = { R.layout.first, R.layout.second, R.layout.third, }; private List<View> views; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_image_view_adapter); //初始化 viewPager = findViewById (R.id.View_Pager); //new一个集合 views = new ArrayList<> (); //遍历整个集合 for (int index = 0; index < mLayoutIDs.length; index++) { views.add (getLayoutInflater ().inflate (mLayoutIDs[index],null)); } //设置适配器 viewPager.setAdapter (pagerAdapter); } PagerAdapter pagerAdapter = new PagerAdapter () { @Override //数组的长度 public int getCount() { return mLayoutIDs.length; } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object o) { return view == o; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { View child = views.get(position); container.addView (child); return child; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView (views.get (position)); } }; }

    之后就可以运行啦,可以左右滑动

    最新回复(0)