一、效果展示
二、前期准备
1.创建Fragment类
2.进入Fragment自动生成的布局文件设置布局
3.在Fragment类中初始化控件
public class Fragment1 extends Fragment {
private Button mBtn;
private TextView mTextView;
private EditText mEt;
private View view;
public Fragment1() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_fragment1, container, false);
initView();
return view;
}
private void initView() {
mBtn = view.findViewById(R.id.button_fragment1);
mEt = view.findViewById(R.id.editText_fragment1);
mTextView = view.findViewById(R.id.textView_fragment1);
}
}
4.创建Fragment页面适配器
public class FragAdapter extends FragmentPagerAdapter {
//fragment集合
private List<Fragment> fragmentList;
//Fragment页面适配器构造函数
//参数1:传入Fragment管家
//参数2:传入放置Fragment的集合
public FragAdapter(FragmentManager fm, List<Fragment> fragmentList) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
//返回当前position的Fragment
return fragmentList.get(position);
}
@Override
public int getCount() {
//返回Fragment的数量
return fragmentList.size();
}
}
要点:
- 建立存放Fragment的集合
- 创建构造器,参数1:Fragment管家,参数2:Fragment集合
- 重写getItem()和getCount()方法
三、实现Fragment在ViewPager中滑动
public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private Fragment fragment1, fragment2, fragment3;
private List<Fragment> fragmentList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
}
private void initView() {
viewPager = findViewById(R.id.viewPager);
fragment1 = new Fragment1();
fragment2 = new Fragment2();
fragment3 = new Fragment3();
//为ViewPager设置适配器
setAdapter();
}
private void setAdapter() {
fragmentList = new ArrayList<>();
fragmentList.add(fragment1);
fragmentList.add(fragment2);
fragmentList.add(fragment3);
//建立Fragment页面适配器对象
FragAdapter adapter = new FragAdapter(getSupportFragmentManager(), fragmentList);
//给viewPager设置上适配器
viewPager.setAdapter(adapter);
}
}
实现大致步骤:
- 建立Fragment页面适配器对象
- 为ViewPager设置适配器