蜡笔大新

activity_main

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/Drawer_Layout"
    tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="嘻嘻."/>
        <android.support.v4.view.ViewPager
            android:id="@+id/paper"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"/>
        <RadioGroup
            android:id="@+id/radio"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/niu1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="影片"
                android:button="@null"
                android:gravity="center"/>
            <RadioButton
                android:id="@+id/niu2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="影院"
                android:button="@null"
                android:gravity="center"/>
            <RadioButton
                android:id="@+id/niu3"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="会员"
                android:button="@null"
                android:gravity="center"/>
            <RadioButton
                android:id="@+id/niu4"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="设置"
                android:button="@null"
                android:gravity="center"/>
        </RadioGroup>
    </LinearLayout>



    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#fff"
        android:orientation="vertical">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@mipmap/ic_launcher" />

        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
    </LinearLayout>
</android.support.v4.widget.DrawerLayout>

frag_a

<?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:orientation="vertical">
    <android.support.design.widget.TabLayout
        android:id="@+id/tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/view_paper"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
</LinearLayout>

 frag_aitem

<?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">
<com.example.pulltolibrary.PullToRefreshListView
    android:id="@+id/pull"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
</LinearLayout>

frag_b

<?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:background="#0ff">

</LinearLayout>

frag_bitem

<?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">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />
</LinearLayout>

frag_c

<?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:background="#f00">

</LinearLayout>

 frag_citem

<?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:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@mipmap/ic_launcher" />
</LinearLayout>

frag_d

<?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:background="#0f0">

</LinearLayout>

pull_list

<?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:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageName"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        app:srcCompat="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/texeName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_weight="1"
        android:text="TextView" />
</LinearLayout>

 MainActivity 

扫描二维码关注公众号,回复: 5017752 查看本文章
package com.gs.gg.moniyuekao;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.widget.RadioGroup;

import com.gs.gg.moniyuekao.fragment.AFragment;
import com.gs.gg.moniyuekao.fragment.BFragment;
import com.gs.gg.moniyuekao.fragment.CFragment;
import com.gs.gg.moniyuekao.fragment.DFragment;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ViewPager paper;
    private RadioGroup radio;
    private DrawerLayout Drawer_Layout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        paper = (ViewPager) findViewById(R.id.paper);
        radio = (RadioGroup) findViewById(R.id.radio);
        Drawer_Layout = (DrawerLayout) findViewById(R.id.Drawer_Layout);

        AFragment aFragment=new AFragment();
        BFragment bFragment=new BFragment();
        CFragment cFragment=new CFragment();
        DFragment dFragment=new DFragment();

        final ArrayList<Fragment> list=new ArrayList<>();
        list.add(aFragment);
        list.add(bFragment);
        list.add(cFragment);
        list.add(dFragment);

        paper.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int i) {
                return list.get(i);
            }

            @Override
            public int getCount() {
                return list.size();
            }
        });
        paper.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {

            }

            @Override
            public void onPageSelected(int i) {
                radio.check(radio.getChildAt(i).getId());
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });
        radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId){
                    case R.id.niu1:
                        paper.setCurrentItem(0);
                        break;
                    case R.id.niu2:
                        paper.setCurrentItem(1);
                        break;
                    case R.id.niu3:
                        paper.setCurrentItem(2);
                        break;
                    case R.id.niu4:
                        paper.setCurrentItem(3);
                        break;
                }
            }
        });
    }
}

HttpUtils

package com.gs.gg.moniyuekao.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpUtils {
    private static String inputStr;

    public static String get(String urlStr){

        try {
            URL url = new URL(urlStr);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            InputStream stream = connection.getInputStream();
            inputStr = getInputStr(stream);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return inputStr;
    }

    private static String getInputStr(InputStream stream) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(stream));
        StringBuffer sb = new StringBuffer();
        String str=null;
        while ((str=br.readLine())!=null){
            sb.append(str);
        }
        return sb.toString();
    }
}

 AFragment 

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;
import com.gs.gg.moniyuekao.adapter.MyAdapter;

import java.util.ArrayList;

public class AFragment extends Fragment {

    private TabLayout tab;
    private ViewPager view_paper;
    private ArrayList<Fragment> tlist=new ArrayList<>();
    private ArrayList<String> vtiem=new ArrayList<>();

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_a, container, false);
        if (tlist.isEmpty()){
            initData();
        }
        initView(view);
        return view;
    }

    private void initData() {
        tlist.add(new Frag_A());
        tlist.add(new Frag_B());
        tlist.add(new Frag_C());
        vtiem.add("热门影片");
        vtiem.add("正在上映");
        vtiem.add("即将上映");
    }

    private void initView(View view) {
        tab = view.findViewById(R.id.tab);
        view_paper = view.findViewById(R.id.view_paper);
        view_paper.setAdapter(new MyAdapter(getActivity().getSupportFragmentManager(),tlist,vtiem));
        tab.setupWithViewPager(view_paper);
    }
}

BFragment

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;

public class BFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_b, container, false);
        return view;
    }
}

CFragment

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;

public class CFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_c, container, false);
        return view;
    }
}

 DFragment

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;

public class DFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_a, container, false);
        return view;
    }
}

 Frag_A

package com.gs.gg.moniyuekao.fragment;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
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.ListView;

import com.example.pulltolibrary.PullToRefreshBase;
import com.example.pulltolibrary.PullToRefreshListView;
import com.google.gson.Gson;
import com.gs.gg.moniyuekao.R;
import com.gs.gg.moniyuekao.adapter.PullAdapter;
import com.gs.gg.moniyuekao.bean.User;
import com.gs.gg.moniyuekao.util.HttpUtils;

import java.util.ArrayList;

public class Frag_A extends Fragment {
    private PullToRefreshListView pull;
    private String murl="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?userId=18&sessionId=15320748258726&page=1&count=10";
    private ArrayList<User.ResultBean> alist=new ArrayList<>();
    private int i=1;
    private PullAdapter pullAdapter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_aitem, container, false);
        initView(view);
        pull.setMode(PullToRefreshBase.Mode.BOTH);
        pullAdapter = new PullAdapter(getActivity(),alist);
        pull.setAdapter(pullAdapter);
        new MyTask().execute(murl+i);
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                i=1;
                alist.clear();
                new MyTask().execute(murl+i);
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                i++;
                new MyTask().execute(murl+i);
            }
        });
        return view;
    }
    class MyTask extends AsyncTask<String,Void,ArrayList<User.ResultBean>>{

        @Override
        protected ArrayList<User.ResultBean> doInBackground(String... strings) {
            String json = HttpUtils.get(strings[0]);
            Gson gson=new Gson();
            User user = gson.fromJson(json, User.class);
            return (ArrayList<User.ResultBean>) user.getResult();
        }

        @Override
        protected void onPostExecute(ArrayList<User.ResultBean> resultBeans) {
            super.onPostExecute(resultBeans);
            alist.addAll(resultBeans);
            pullAdapter.notifyDataSetChanged();
            pull.onRefreshComplete();
        }
    }
    private void initView(View view) {
        pull = (PullToRefreshListView) view.findViewById(R.id.pull);
    }
}

 Frag_B

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;

public class Frag_B extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_bitem, container, false);
        return view;
    }
}

Frag_C

package com.gs.gg.moniyuekao.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.gs.gg.moniyuekao.R;

public class Frag_C extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_citem, container, false);
        return view;
    }
}

 MyAdapter

package com.gs.gg.moniyuekao.adapter;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;

public class MyAdapter extends FragmentPagerAdapter {
    public MyAdapter(FragmentManager fm, ArrayList<Fragment> tlist, ArrayList<String> vtiem) {
        super(fm);
        this.tlist = tlist;
        this.vtiem = vtiem;
    }

    private ArrayList<Fragment> tlist;
    private ArrayList<String > vtiem;
    @Override
    public Fragment getItem(int i) {
        return tlist.get(i);
    }

    @Override
    public int getCount() {
        return tlist.size();
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return vtiem.get(position);
    }
}

PullAdapter

package com.gs.gg.moniyuekao.adapter;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.gs.gg.moniyuekao.R;
import com.gs.gg.moniyuekao.bean.User;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;

public class PullAdapter extends BaseAdapter {
    private Context context;
    private ArrayList<User.ResultBean> alist;

    public PullAdapter(Context context, ArrayList<User.ResultBean> alist) {
        this.context = context;
        this.alist = alist;
    }

    @Override
    public int getCount() {
        return alist.size();
    }

    @Override
    public Object getItem(int position) {
        return alist.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder=null;
        if (convertView==null){
            convertView= View.inflate(context,R.layout.pull_list,null);
            holder =new ViewHolder();
            holder.textName=convertView.findViewById(R.id.texeName);
            holder.imageName=convertView.findViewById(R.id.imageName);
            convertView.setTag(holder);
        }else {
            holder= (ViewHolder) convertView.getTag();
        }
        User.ResultBean bean = alist.get(position);
        holder.textName.setText (bean.getSummary());
        ImageLoader.getInstance().displayImage(alist.get(position).getImageUrl(),holder.imageName);
        return convertView;
    }
    class ViewHolder{
        TextView textName;
        ImageView imageName;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42775434/article/details/84203897