側拉加fragment联动

来源:互联网 发布:软件开放平台 编辑:程序博客网 时间:2024/06/07 00:13

一.MainActivity

import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.support.design.widget.NavigationView;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.widget.TableLayout;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity        implements NavigationView.OnNavigationItemSelectedListener {    private ViewPager vp;    private List<Fragment> list = new ArrayList<>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        vp = (ViewPager) findViewById(R.id.vp);        list.add(new MyFragment());        list.add(new MyFragment2());        list.add(new MyFragment3());        list.add(new MyFragment4());        vp.setAdapter(new MyPager(getSupportFragmentManager()));        setSupportActionBar(toolbar);        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        drawer.setDrawerListener(toggle);        toggle.syncState();        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);        navigationView.setNavigationItemSelectedListener(this);    }    class MyPager extends FragmentPagerAdapter{        public MyPager(FragmentManager fm) {            super(fm);        }        @Override        public Fragment getItem(int position) {            return list.get(position);        }        @Override        public int getCount() {            return list.size();        }    }    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            super.onBackPressed();        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    @SuppressWarnings("StatementWithEmptyBody")    @Override    public boolean onNavigationItemSelected(MenuItem item) {        int id = item.getItemId();        if (id == R.id.nav_camera) {            vp.setCurrentItem(0);        } else if (id == R.id.nav_gallery) {            vp.setCurrentItem(1);        } else if (id == R.id.nav_slideshow) {            vp.setCurrentItem(2);        } else if (id == R.id.nav_manage) {            vp.setCurrentItem(3);        }//        } else if (id == R.id.nav_share) {////        } else if (id == R.id.nav_send) {////        }        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;    }}
二.Fragment

1第一个fragment

import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MyFragment extends Fragment {    private TabLayout tab;    private ViewPager vp;    private List<String> mtitle = new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View v = inflater.inflate(R.layout.f1,null);        tab = v.findViewById(R.id.tab);        vp = v.findViewById(R.id.f_vp);        getData();        vp.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) {            @Override            public CharSequence getPageTitle(int position) {                return mtitle.get(position);            }            @Override            public Fragment getItem(int position) {                MyFragment_show fragment = new MyFragment_show();                Bundle bundle = new Bundle();                if (mtitle.get(position).equals("社会新闻")){                    bundle.putString("name","social");                }else if (mtitle.get(position).equals("国内新闻")){                    bundle.putString("name","guonei");                }else if (mtitle.get(position).equals("国际新闻")){                    bundle.putString("name","world");                }else if (mtitle.get(position).equals("娱乐新闻")){                    bundle.putString("name","huabian");                }else if (mtitle.get(position).equals("体育新闻")){                    bundle.putString("name","tiyu");                }else if (mtitle.get(position).equals("科技新闻")){                    bundle.putString("name","keji");                }else if (mtitle.get(position).equals("创业新闻")){                    bundle.putString("name","startup");                }else if (mtitle.get(position).equals("军事新闻")){                    bundle.putString("name","military");                }                fragment.setArguments(bundle);                return fragment;            }            @Override            public int getCount() {                return mtitle.size();            }        });        tab.setupWithViewPager(vp);        return v;    }    public void getData(){        mtitle.add("社会新闻");        mtitle.add("国内新闻");        mtitle.add("国际新闻");        mtitle.add("娱乐新闻");        mtitle.add("体育新闻");        mtitle.add("科技新闻");        mtitle.add("创业新闻");        mtitle.add("军事新闻");    }}
2.第二,三,四个fragment

import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/** *  */public class MyFragment2 extends Fragment{    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View v = inflater.inflate(R.layout.f2,null);        return v;    }}
三.fragment1对应的fragment

import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ListView;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;public class MyFragment_show extends Fragment {    private PullToRefreshListView listView;    private String mstrings;    private int page=1;    private int num=10;    private View v;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        v = inflater.inflate(R.layout.show,null);        listView = v.findViewById(R.id.pull_listView);        listView.setMode(PullToRefreshBase.Mode.BOTH);        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                listView.postDelayed(new Runnable() {                    @Override                    public void run() {                        num+=10;                        page++;                        getDataFromNet(mstrings,num,page);                        listView.onRefreshComplete();                    }                },2000);            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                listView.postDelayed(new Runnable() {                    @Override                    public void run() {                        num=10;                        page=1;                        getDataFromNet(mstrings,num,page);                        listView.onRefreshComplete();                    }                },2000);            }        });        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                Intent intent = new Intent(getActivity(),Main2Activity.class);                startActivity(intent);            }        });        return v;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        Bundle bundle = getArguments();        mstrings = bundle.getString("name");        getDataFromNet(mstrings,num,page);    }    private void getDataFromNet(final String string,final int n,final int p) {        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {            @Override            protected String doInBackground(Void... voids) {                String path = "http://api.tianapi.com/"+string+"/?key=48844f6abf6f664f645221f5c9894824&num="+n+"&page="+p;                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    //设置                    connection.setRequestMethod("GET");                    connection.setReadTimeout(5000);                    connection.setConnectTimeout(5000);                    //获取                    int responseCode = connection.getResponseCode();                    if (responseCode == 200){                        InputStream inputStream = connection.getInputStream();                        String json = streamToString(inputStream,"utf-8");                        return json;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return "";            }            @Override            protected void onPostExecute(String json) {                //原生json                Gson gson = new Gson();                JsonBean dataDataBean = gson.fromJson(json, JsonBean.class);                List<JsonBean.NewslistBean> list = dataDataBean.getNewslist();                if(list!=null){                    MyAdapter myAdapter = new MyAdapter(getActivity(), list);                    listView.setAdapter(myAdapter);                }            }        };        asyncTask.execute();    }    private String streamToString(InputStream inputStream, String charset) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null){                builder.append(s);            }            bufferedReader.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return  null;    }}
四.fragment1对应的fragment的点击跳转后的MainActivity

import android.content.Context;import android.content.Intent;import android.graphics.pdf.PdfDocument;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.GridView;import android.widget.ImageView;import android.widget.ListView;import android.widget.ScrollView;import android.widget.TextView;import android.widget.Toast;import com.bigkoo.convenientbanner.ConvenientBanner;import com.bigkoo.convenientbanner.holder.CBViewHolderCreator;import com.bigkoo.convenientbanner.holder.Holder;import com.bigkoo.convenientbanner.listener.OnItemClickListener;import com.bumptech.glide.Glide;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshScrollView;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.Arrays;import java.util.List;public class Main2Activity extends AppCompatActivity implements OnItemClickListener {    private ConvenientBanner convenientBanner;    private List<String> networkImages;    private String[] images = {"http://img2.imgtn.bdimg.com/it/u=3093785514,1341050958&fm=21&gp=0.jpg",            "http://img2.3lian.com/2014/f2/37/d/40.jpg",            "http://d.3987.com/sqmy_131219/001.jpg",            "http://img2.3lian.com/2014/f2/37/d/39.jpg",            "http://www.8kmm.com/UploadFiles/2012/8/201208140920132659.jpg",            "http://f.hiphotos.baidu.com/image/h%3D200/sign=1478eb74d5a20cf45990f9df460b4b0c/d058ccbf6c81800a5422e5fdb43533fa838b4779.jpg",            "http://f.hiphotos.baidu.com/image/pic/item/09fa513d269759ee50f1971ab6fb43166c22dfba.jpg"    };    protected ImageLoader imageLoader;    private ListView lv;    private MyAsyncTask myAsyncTask;    private int type;    private PullToRefreshScrollView ps;    private int page=1;    private GridView gv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        ps = (PullToRefreshScrollView) findViewById(R.id.pull_scrollview);        convenientBanner = (ConvenientBanner) findViewById(R.id.convenientBanner);        gv = (GridView) findViewById(R.id.gridview);        lv = (ListView) findViewById(R.id.lv);        myAsyncTask = new MyAsyncTask(this, gv,lv,page);        myAsyncTask.execute();        ps.setMode(PullToRefreshBase.Mode.BOTH);        ps.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {                ps.postDelayed(new Runnable() {                    @Override                    public void run() {                        page++;                        myAsyncTask = new MyAsyncTask(Main2Activity.this, gv,lv,page);                        myAsyncTask.execute();                        ps.onRefreshComplete();                    }                },2000);            }            @Override            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {                ps.postDelayed(new Runnable() {                    @Override                    public void run() {                        page=1;                        myAsyncTask = new MyAsyncTask(Main2Activity.this, gv,lv,page);                        myAsyncTask.execute();                        ps.onRefreshComplete();                    }                },2000);            }        });        imageLoader = ImageLoader.getInstance();        imageLoader.init(ImageLoaderConfiguration.createDefault(this));        //网络加载例子        networkImages = Arrays.asList(images);        convenientBanner.setPages(new CBViewHolderCreator<NetworkImageHolderView>() {            @Override            public NetworkImageHolderView createHolder() {                return new NetworkImageHolderView();            }        }, networkImages)                //设置指示器是否可见                .setPointViewVisible(true)                //设置自动切换(同时设置了切换时间间隔)                .startTurning(2000)                //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设                .setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused})                //设置指示器的方向(左、中、右)                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)                //设置点击监听事件                .setOnItemClickListener(this)                //设置手动影响(设置了该项无法手动切换)                .setManualPageable(true);    }    //图片的点击事件    @Override    public void onItemClick(int position) {        Toast.makeText(this, "position:" + position, Toast.LENGTH_SHORT).show();    }    public class NetworkImageHolderView implements Holder<String> {        private ImageView imageView;        @Override        public View createView(Context context) {            imageView = new ImageView(context);            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);            return imageView;        }        @Override        public void UpdateUI(Context context, int position, String data) {            Glide.with(Main2Activity.this).load(data).into(imageView);        }    }}
五.第一个MyAdapter
package zhouyafei.bwei.com.zhouyafeiyuekao;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import java.util.List;import java.util.jar.JarEntry;/** * Created by Zhouyf on 2017/9/20. */public class MyAdapter extends BaseAdapter{    private Context context;    private List<JsonBean.NewslistBean> data = new ArrayList<>();    public MyAdapter(Context context, List<JsonBean.NewslistBean> data) {        this.context = context;        this.data = data;    }    @Override    public int getCount() {        return data.size();    }    @Override    public Object getItem(int i) {        return null;    }    @Override    public long getItemId(int i) {        return 0;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        ViewHolderOne holderOne;        ViewHolderTwo holderTwo;        int type = getItemViewType(i);        if (view==null){            switch (type){                case 0:                    view = View.inflate(context,R.layout.item1,null);                    holderOne = new ViewHolderOne();                    holderOne.title = view.findViewById(R.id.one_text1);                    holderOne.date = view.findViewById(R.id.one_text2);                    holderOne.one_img = view.findViewById(R.id.one_img);                    view.setTag(holderOne);                    break;                case 1:                    view = View.inflate(context,R.layout.item2,null);                    holderTwo = new ViewHolderTwo();                    holderTwo.two_img1 = view.findViewById(R.id.two_img1);                    holderTwo.two_img2 = view.findViewById(R.id.two_img2);                    holderTwo.two_img3 = view.findViewById(R.id.two_img3);                    view.setTag(holderTwo);                    break;            }        }        switch (type){            case 0:                holderOne = (ViewHolderOne) view.getTag();                holderOne.title.setText(data.get(i).getTitle());                holderOne.date.setText(data.get(i).getCtime());                ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderOne.one_img);                break;            case 1:                holderTwo = (ViewHolderTwo) view.getTag();                ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img1);                ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img2);                ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderTwo.two_img3);                break;        }        return view;    }    @Override    public int getViewTypeCount() {        return 2;    }    @Override    public int getItemViewType(int position) {        int p = position%2;        if (p==0){           return 0;        }else{           return 1;        }    }    class ViewHolderOne{        TextView title,date;        ImageView one_img;    }    class ViewHolderTwo{        ImageView two_img1,two_img2,two_img3;    }}
六.第二个MyAdapter
import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import java.util.List;/** * Created by Zhouyf on 2017/9/20. *///https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10public class Main2_Adapter extends BaseAdapter {    private Context context;    private List<JsonBean.NewslistBean> data = new ArrayList<>();    private int type;    public Main2_Adapter(Context context, List<JsonBean.NewslistBean> data, int type) {        this.context = context;        this.data = data;        this.type = type;    }    @Override    public int getCount() {        return data.size();    }    @Override    public Object getItem(int i) {        return null;    }    @Override    public long getItemId(int i) {        return 0;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        ViewHolderOne holderOne = null;        if (view==null) {            switch (type){                case 1:                    view = View.inflate(context, R.layout.griditem, null);                    holderOne = new ViewHolderOne();                    holderOne.title = view.findViewById(R.id.g_text);                    holderOne.one_img = view.findViewById(R.id.g_img);                    view.setTag(holderOne);                    break;                case 2:                    view = View.inflate(context, R.layout.item1, null);                    holderOne = new ViewHolderOne();                    holderOne.title = view.findViewById(R.id.one_text1);                    holderOne.one_img = view.findViewById(R.id.one_img);                    view.setTag(holderOne);                    break;            }                    }else{            holderOne = (ViewHolderOne) view.getTag();        }        holderOne.title.setText(data.get(i).getTitle());        ImageLoader.getInstance().displayImage(data.get(i).getPicUrl(),holderOne.one_img);        return view;    }    class ViewHolderOne{        TextView title;        ImageView one_img;    }}
七.图片类

import android.app.Application;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;/** * Created by Zhouyf on 2017/9/20. */public class MyApp extends Application{    @Override    public void onCreate() {        super.onCreate();        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.mipmap.ic_launcher)                .displayer(new FadeInBitmapDisplayer(2000)).cacheOnDisk(true)                .cacheInMemory(true).build();        ImageLoaderConfiguration configs = new ImageLoaderConfiguration.Builder(this)                .defaultDisplayImageOptions(options).threadPoolSize(5)                .build();        ImageLoader.getInstance().init(configs);    }}
八.MyAnsyncTask

import android.content.Context;import android.content.Intent;import android.os.AsyncTask;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.ListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.List;/** * Created by Zhouyf on 2017/9/15. */public class MyAsyncTask extends AsyncTask<String ,Integer ,String>{    private Context context;    private GridView gridView;    private ListView listView;    private int type=1;    private int page;    public MyAsyncTask(Context context, GridView gridView, ListView listView,int page) {        this.context = context;        this.gridView = gridView;        this.listView = listView;        this.page = page;    }    private JsonBean bean;    @Override    protected String doInBackground(String... strings) {        try {            URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+page);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setRequestMethod("GET");            connection.setReadTimeout(5000);            connection.setConnectTimeout(5000);            int responseCode = connection.getResponseCode();            if (responseCode==200){                InputStream inputStream = connection.getInputStream();                String text = readText(inputStream, "utf-8");                Gson gson = new Gson();                bean = gson.fromJson(text, JsonBean.class);            }        } catch (Exception e) {            e.printStackTrace();        }        return null;    }    private String readText(InputStream inputStream,String charset){        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);            BufferedReader buffer = new BufferedReader(inputStreamReader);            String s=null;            StringBuilder builder = new StringBuilder();            while ((s=buffer.readLine())!=null){                builder.append(s);            }            buffer.close();            inputStreamReader.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return null;    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        List<JsonBean.NewslistBean> data = bean.getNewslist();        if (data!=null){            Main2_Adapter adapter = new Main2_Adapter(context, data,type);            gridView.setAdapter(adapter);            if (type==1) {                ++type;                Main2_Adapter adapter2 = new Main2_Adapter(context, data,type);                listView.setAdapter(adapter2);            }        }    }}

布局文件

1.activity

<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/drawer_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:openDrawer="start">    <include        layout="@layout/app_bar_main"        android:layout_width="match_parent"        android:layout_height="match_parent" />    <android.support.design.widget.NavigationView        android:id="@+id/nav_view"        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:layout_gravity="start"        android:fitsSystemWindows="true"        app:headerLayout="@layout/nav_header_main"        app:menu="@menu/activity_main_drawer" /></android.support.v4.widget.DrawerLayout>

2.APP_bar

<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="zhouyafei.bwei.com.zhouyafeiyuekao.MainActivity">    <android.support.design.widget.AppBarLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:theme="@style/AppTheme.AppBarOverlay">        <android.support.v7.widget.Toolbar            android:id="@+id/toolbar"            android:layout_width="match_parent"            android:layout_height="?attr/actionBarSize"            android:background="?attr/colorPrimary"            app:popupTheme="@style/AppTheme.PopupOverlay" />    </android.support.design.widget.AppBarLayout>    <include layout="@layout/content_main" /></android.support.design.widget.CoordinatorLayout>
3.fragment1

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent">    <android.support.design.widget.TabLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:tabTextAppearance="@style/MyTabLayoutTextAppearance"        app:tabGravity="center"        app:tabBackground="@color/tab"        app:tabSelectedTextColor="@color/selectText"        app:tabTextColor="@color/titleBlue"        app:tabIndicatorColor="@color/back"        app:tabMode="scrollable"        android:id="@+id/tab"></android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/f_vp"        ></android.support.v4.view.ViewPager></LinearLayout>
4.GridView

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:layout_width="80dp"        android:layout_height="80dp"        android:id="@+id/g_img"/>    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/g_text"/></LinearLayout>
5.item1

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"    android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:layout_width="150dp"        android:layout_height="150dp"        android:id="@+id/one_img"/>    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/one_text1"            android:textSize="20dp"            android:padding="10dp"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/one_text2"            android:textSize="20dp"            android:padding="10dp"/>    </LinearLayout></LinearLayout>
6.item2

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"    android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/two_img1"        android:layout_weight="1"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/two_img2"        android:layout_weight="1"/>    <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/two_img3"        android:layout_weight="1"/></LinearLayout>
7.show

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <com.handmark.pulltorefresh.library.PullToRefreshListView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/pull_listView"></com.handmark.pulltorefresh.library.PullToRefreshListView></LinearLayout>

8.centent

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    app:layout_behavior="@string/appbar_scrolling_view_behavior"    tools:context="zhouyafei.bwei.com.zhouyafeiyuekao.MainActivity"    tools:showIn="@layout/app_bar_main">    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/vp"        ></android.support.v4.view.ViewPager></LinearLayout>