最简单的fragment左右滑动测试代码

来源:互联网 发布:最新滤镜软件 编辑:程序博客网 时间:2024/06/04 20:05

mainactivity.java

//必须继承FragmentActivity才能用getSupportFragmentManager()public class MainActivity extends FragmentActivity {private ViewPager pager;private PagerAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pager = (ViewPager) findViewById(R.id.vp_content);adapter = new PagerAdapter(getSupportFragmentManager());pager.setAdapter(adapter);pager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {pager.setCurrentItem(arg0);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});pager.setCurrentItem(0);}class PagerAdapter extends FragmentPagerAdapter {private List<Fragment> list_fragments;public PagerAdapter(FragmentManager fm) {super(fm);list_fragments = new ArrayList<Fragment>();list_fragments.add(new FragmentA());list_fragments.add(new FragmentB());list_fragments.add(new FragmentC());list_fragments.add(new FragmentD());}@Overridepublic Fragment getItem(int arg0) {return list_fragments.get(arg0);}@Overridepublic int getCount() {return list_fragments != null ? list_fragments.size() : 0;}}}
其中一个FragmentA.java

public class FragmentA extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View mView = inflater.inflate(R.layout.fragment_content, null);TextView tv = (TextView) mView.findViewById(R.id.tv);tv.setText("FragmentA");return mView;}}
activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/container"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.oyb.fragmentdemo.MainActivity"    tools:ignore="MergeRootFrame" >    <android.support.v4.view.ViewPager        android:id="@+id/vp_content"        android:layout_width="match_parent"        android:layout_height="wrap_content" /></LinearLayout>
fragment_content.xml

<?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:gravity="center_vertical"    android:orientation="vertical" >    <TextView        android:id="@+id/tv"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text=""        android:gravity="center"        android:textSize="18sp" /></LinearLayout>








0 0