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
- ViewPagerFragmentDemo
- Linux 测试磁盘IO性能的几种方法
- 在一个字符串中找到第一个只出现一次的字符
- 同一页面无法多次使用XmlHttp发起Ajax请求
- Android Selector 与 Shape 基本用法
- HDU 4879 ZCC loves march(并查集+set)
- ViewPagerFragmentDemo
- 有关ndk、jni开发流程、数据类型、数组操作
- POJ 2195 Going Home(网络流-费用流)
- iptables 源码分析
- 石子合并(新算法)
- linux操作系统-Ubuntu
- tcpdump学习指南
- 用户空间的spi驱动
- 程序员 学习攻略