Fragment+ViewPager的简单使用 Android

来源:互联网 发布:lua 下载网络图片 编辑:程序博客网 时间:2024/06/01 10:01
<span style="font-size:14px;">MainActivity:package demo.lxiangjian.com.myfragment;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    //声明控件    private ViewPager viewPager;    private FragmentAdapter adapter;    private List<Fragment> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        //获取数据源        iniData();        adapter = new FragmentAdapter(getSupportFragmentManager(), list);        viewPager.setAdapter(adapter);            }    private void initView() {        viewPager = (ViewPager) findViewById(R.id.viewPager);    }    private void iniData() {        list = new ArrayList<>();        MyFragment myFragment = new MyFragment();        MyFragment2 myFragment2 = new MyFragment2();        MyFragment3 myFragment3 = new MyFragment3();        MyFragment4 myFragment4 = new MyFragment4();        list.add(myFragment);        list.add(myFragment2);        list.add(myFragment3);        list.add(myFragment4);    }}MyFragment:</span><pre name="code" class="java"><span style="font-size:14px;">package demo.lxiangjian.com.myfragment;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** * A simple {@link Fragment} subclass. */public class MyFragment extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_my, container, false);        return view;    }}</span>


<pre name="code" class="java"><span style="font-size:14px;">MyFragment2 :</span>
<span style="font-size:14px;">package demo.lxiangjian.com.myfragment;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** * A simple {@link Fragment} subclass. */public class MyFragment2 extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_my_fragment2, container, false);        return view;    }}</span><pre name="code" class="java"><pre name="code" class="cpp"><span style="font-size:14px;">MyFragment3 :</span>
<span style="font-size:14px;">package demo.lxiangjian.com.myfragment;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** * A simple {@link Fragment} subclass. */public class MyFragment3 extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_my_fragment3, container, false);        return view;    }} </span><pre name="code" class="java"><pre name="code" class="java"><span style="font-size:14px;">MyFragment4 :</span>
<span style="font-size:14px;">package demo.lxiangjian.com.myfragment;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** * A simple {@link Fragment} subclass. * */public class MyFragment4 extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_my_fragment4, container, false);        return view;    }}<pre name="code" class="java"><pre name="code" class="java">
<pre name="code" class="java">

FragmentPagerAdapter适配器:package demo.lxiangjian.com.myfragment;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import java.util.List;public class FragmentAdapter extends FragmentPagerAdapter { private List<Fragment> list; public FragmentAdapter(FragmentManager fm,List<Fragment> list) { super(fm); this.list = list; } @Override public Fragment getItem(int position) {   return list.get(position); } @Override public int getCount() {   return list.size(); }}


 ---------------------------------------------------------XML------------------------------------------------------------activity_main: </span>

<span style="font-size:14px;"><?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"        /></RelativeLayout></span>

<span style="font-size:14px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="demo.lxiangjian.com.myfragment.MyFragment">    <!-- TODO: Update blank fragment layout -->    <TextView        android:id="@+id/text1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:background="@color/red"/></FrameLayout></span>



<span style="font-size:14px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="demo.lxiangjian.com.myfragment.MyFragment2">    <!-- TODO: Update blank fragment layout -->    <TextView        android:layout_width="match_parent"        android:layout_height="match_parent"       android:background="@color/blue" /></FrameLayout></span>

<span style="font-size:14px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="demo.lxiangjian.com.myfragment.MyFragment3">    <!-- TODO: Update blank fragment layout -->    <TextView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:background="@color/yellow" /></FrameLayout></span>

<span style="font-size:14px;"><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="demo.lxiangjian.com.myfragment.MyFragment4">    <!-- TODO: Update blank fragment layout -->    <TextView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:background="@color/green" /></FrameLayout></span><img src="http://img.blog.csdn.net/20160528161642275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="442" width="249" alt="" /><img src="http://img.blog.csdn.net/20160528161724129?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="441" width="275" alt="" /><img src="http://img.blog.csdn.net/20160528161829957?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="441" width="248" alt="" /><img src="http://img.blog.csdn.net/20160528161542316?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="441" width="248" alt="" />








1 0