ViewPagerFragmentDemo

来源:互联网 发布:ubuntu换源163 编辑:程序博客网 时间:2024/06/06 03:35


1.两个fragment,装在集合里面,适配之后得到适配器

2.viewpager,添加适配器.

主activiity.

package com.qzl.viewpagerfragmentdemo;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.view.ViewPager;/** * 主Activity,包含两个fragment *  * @author wwj * */public class MainActivity extends FragmentActivity {private ViewPager vp;private FragAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//在主activity中有viewpager.setContentView(R.layout.activity_main);vp = (ViewPager) findViewById(R.id.viewpager);List<Fragment> fragments = new ArrayList<Fragment>();fragments.add(new MyFragment1());fragments.add(new MyFragment2());//v4下的getSupportFragmentManageradapter = new FragAdapter(getSupportFragmentManager(), fragments);//viewpager时两个fragment.vp.setAdapter(adapter);//第一个vp.setCurrentItem(0);}}

fragment1

package com.qzl.viewpagerfragmentdemo;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.Toast;/** * 第一个Fragment *  * @author wwj * */public class MyFragment1 extends Fragment {private Button btn;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}///onCreateView  中实例化  @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {//得到viewView view = inflater.inflate(R.layout.viewpager1, container, false);///得到buttonbtn = (Button) view.findViewById(R.id.btn);//监听事件btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getActivity(), "这个Fragment1,", Toast.LENGTH_LONG).show();}});return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic void onPause() {super.onPause();}}
fragment2
package com.qzl.viewpagerfragmentdemo;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.Toast;/** * 第2个Fragment *  * @author wwj * */public class MyFragment2 extends Fragment {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.viewpager2, container, false);view.findViewById(R.id.btn).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getActivity(), "这个是Fragment2,我们都被装在viewpager里面", Toast.LENGTH_SHORT).show();}});return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic void onPause() {super.onPause();}}

适配器

package com.qzl.viewpagerfragmentdemo;import java.util.List;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;//继承系统的适配器   fragmentpageradapterpublic class FragAdapter extends FragmentPagerAdapter{private List<Fragment> fragments;public FragAdapter(FragmentManager fm) {super(fm);}//参数仪 fm, 参数二list集合.public FragAdapter(FragmentManager fm, List<Fragment> fragments) {super(fm);this.fragments = fragments;}//父类的方法@Overridepublic Fragment getItem(int position) {return fragments.get(position);}//父类的方法@Overridepublic int getCount() {return fragments.size();}}

关于布局.

/ViewPagerFragmentDemo/res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:flipInterval="30"        android:persistentDrawingCache="animation" /></RelativeLayout>

fragment1

/ViewPagerFragmentDemo/res/layout/viewpager1.xml

<?xml version="1.0" encoding="UTF-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@android:drawable/alert_dark_frame" >    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_marginBottom="54dp"        android:background="@android:drawable/alert_light_frame"        /></RelativeLayout>

fragment2

/ViewPagerFragmentDemo/res/layout/viewpager2.xml

<?xml version="1.0" encoding="UTF-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@android:drawable/alert_light_frame" >    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_marginBottom="54dp"        android:background="@android:drawable/arrow_down_float"        /></RelativeLayout>









0 0