ViewPager上加载fragment是安卓常用的一种形式,这两个控件对于安卓开发都相当重要,而结合起来更是安卓的一个重要表现形式,所以这里介绍了一个简单方法,实现效果,一起来看看吧。
布局ViewPager
<android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" />
package com.example.viewpagerfragment; //导包 import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.os.Bundle; //1.继承FragmentActivity public class MainActivity extends FragmentActivity { ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局 setContentView(R.layout.activity_main);//2.资源idviewPager = (ViewPager) findViewById(R.id.viewpager);//3.viewPager添加适配器 viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) {
//4.实例化对象
Fragment fragment = new Fragment();
//5.判断
switch (position){ case 0: return new Lei1(); case 1: return new Lei2(); case 2: return new Lei3(); } return fragment; }//5.返回的是Fragment的页数 @Override public int getCount() { return 3; } }); }}
每一个Fragment。你所要实现的需求写在每一个Fragment中
public class Lei1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.lei1,container,false); //这里添加内容,注意:找控件要 view.xxx return view; } }
Fragment布局
<?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:background="#f00"> !!!添加你所需要的控件 </LinearLayout>