今日头条_频道管理

1.  MainActivity

package com.example.laji;

import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioGroup;
public class MainActivity extends AppCompatActivity {
    private ViewPager viewPager;
    private RadioGroup radioGroup;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        radioGroup = findViewById(R.id.rad);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (i){
                    case R.id.rad1 :
                        getSupportFragmentManager().beginTransaction().replace(R.id.fra,new Fra1()).commit();
                        break;
                    case R.id.rad2 :
                        getSupportFragmentManager().beginTransaction().replace(R.id.fra,new Fra2()).commit();
                        break;
                    case R.id.rad3 :
                        getSupportFragmentManager().beginTransaction().replace(R.id.fra,new Fra3()).commit();
                        break;
                    case R.id.rad4 :
                        getSupportFragmentManager().beginTransaction().replace(R.id.fra,new Fra4()).commit();
                        break;
                    case R.id.rad5 :
                        getSupportFragmentManager().beginTransaction().replace(R.id.fra,new Fra5()).commit();
                        break;

                }
            }
        });
    }

}


2.Fragment1

package com.example.laji;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
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.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import java.util.ArrayList;
import java.util.List;
public class Fra1 extends Fragment{

    private HorizontalScrollView horizontalScrollView;
    private LinearLayout linearLayout;
    private ViewPager viewPager;
    private List<TextView> list;
    Dao dao;
    private Button button;
    private String[] data = {"头条","娱乐","新闻","动漫","视频","电影","电视剧","世界杯"} ;
    private List<ChannelBean> channelBeans = new ArrayList<>();
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fraone,container,false);

            horizontalScrollView = view.findViewById(R.id.hor);
            linearLayout = view.findViewById(R.id.lin);
            viewPager =view.findViewById(R.id.viewpager);
            button = view.findViewById(R.id.bu);
            Dao dao = new Dao(getActivity());
            list = new ArrayList<>();
            channelBeans.add(new ChannelBean("头条",true));
            channelBeans.add(new ChannelBean("娱乐",true));
            channelBeans.add(new ChannelBean("新闻",true));
            channelBeans.add(new ChannelBean("动漫",true));
            channelBeans.add(new ChannelBean("经济",true));
            channelBeans.add(new ChannelBean("视频",true));
            channelBeans.add(new ChannelBean("电影",true));
            channelBeans.add(new ChannelBean("电视剧",false));
            channelBeans.add(new ChannelBean("世界杯",false));
            channelBeans.add(new ChannelBean("搞笑",false));
            for (int i = 0;i<channelBeans.size();i++){
                dao.add(channelBeans.get(i).getName());
                TextView textView = new TextView(getActivity());
                textView.setText(channelBeans.get(i).getName());
                textView.setTextSize(20);
                textView.setId(i+100);
                textView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        int id = view.getId();
                        viewPager.setCurrentItem(id-100);
                    }
                });
                if(i==0){
                    textView.setTextColor(Color.RED);
                }else{
                    textView.setTextColor(Color.BLUE);
                }
                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                layoutParams.setMargins(50,10,50,10);
                linearLayout.addView(textView,layoutParams);
                list.add(textView);
            }
            List<UserBean> list5 = dao.select();
            for(int i = 0;i<list5.size();i++){
                String name = list5.get(i).getName();
                Log.i("TAG",name);
            }
        viewPager.setAdapter(new Myadpter(getActivity().getSupportFragmentManager()));
            viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int i, float v, int i1) {
                    for(int o = 0; o< Fra1.this.list.size(); o++ ){
                        if(i==o){
                            Fra1.this.list.get(o).setTextColor(Color.RED);
                        }else{
                            Fra1.this.list.get(o).setTextColor(Color.BLUE);
                        }
                    }
                    TextView textView = Fra1.this.list.get(i);
                    int width = textView.getWidth()+10;
                    horizontalScrollView.scrollTo(width*i,0);
                }

                @Override
                public void onPageSelected(int i) {

                }

                @Override
                public void onPageScrollStateChanged(int i) {

                }
            });
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(),channelBeans);
                }
            });
        return view;
        }
        class Myadpter extends FragmentPagerAdapter {

            public Myadpter(FragmentManager fm) {
                super(fm);
            }

            @Override
            public Fragment getItem(int i) {
                return com.example.laji.Fragment.getin(list.get(i).getText().toString());
            }

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

    }

3.Fragment1_One


package com.example.laji;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;

public class Fragment extends android.support.v4.app.Fragment{
   private ViewPager viewPager;
   private int page = 1;
    Mybase mybase;
    private Handler handler1 = new Handler(){};
   private PullToRefreshListView pullToRefreshListView;
   private int i ;
   private List<User1.DataBean> listt = new ArrayList<>();
   private List<String> list1 = new ArrayList<>();
   private Handler handler = new Handler(){
       @Override
       public void handleMessage(Message msg) {
           i = viewPager.getCurrentItem();
           viewPager.setCurrentItem(i+1);
           handler.sendEmptyMessageDelayed(1,3000);
       }
   };
    public static Fragment getin(String title){
       Fragment fragment = new Fragment();
        Bundle bundle = new Bundle();
        bundle.putString("title",title);
        fragment.setArguments(bundle);
        return fragment;
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Bundle arguments = getArguments();
        String title = arguments.getString("title");
        if(title.equals("经济")){
            View view = inflater.inflate(R.layout.fragment,container,false);
            viewPager = view.findViewById(R.id.pager);
            pullToRefreshListView = view.findViewById(R.id.pull);
            Httputil.getdata("http://www.wanandroid.com/tools/mockapi/6523/article_channel_list", getActivity(), new Back() {
                @Override
                public void setjson(String s) {
                    Gson gson = new Gson();
                    User json = gson.fromJson(s, User.class);
                    List<User.DataBean.FocusListBean> list = json.getData().getFocus_list();
                    for(int i = 0 ;i<list.size();i++){
                        String url = list.get(i).getImage_url();
                        list1.add(url);
                    }
                    Mybasepager mybasepager = new Mybasepager(list1,getActivity());
                    viewPager.setAdapter(mybasepager);
                    handler.sendEmptyMessageDelayed(1,3000);
                }
            });
            pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
            ILoadingLayout loadingLayoutProxy = pullToRefreshListView.getLoadingLayoutProxy(true,false);
            loadingLayoutProxy.setPullLabel("下拉刷新");
            loadingLayoutProxy.setRefreshingLabel("正在刷新");
            loadingLayoutProxy.setReleaseLabel("放开刷新");
            ILoadingLayout loadingLayoutProx = pullToRefreshListView.getLoadingLayoutProxy(false,true);
            loadingLayoutProx.setPullLabel("上拉加载");
            loadingLayoutProx.setRefreshingLabel("正在加载");
            loadingLayoutProx.setReleaseLabel("放开加载");
            pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
                @Override
                public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                    page = 1;
                    getdata();
                    handler1.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            pullToRefreshListView.onRefreshComplete();
                        }
                    },2000);
                }

                @Override
                public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                  page+=1;
                  getdata();
                    handler1.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            pullToRefreshListView.onRefreshComplete();
                        }
                    },2000);
                }
            });
             mybase = new Mybase(listt,getActivity());
            pullToRefreshListView.setAdapter(mybase);
            getdata();
            return view;
        }
        return null;
    }

    public void getdata() {
        Httputil.getdata("https://www.apiopen.top/meituApi?page="+page, getActivity(), new Back() {
            @Override
            public void setjson(String s) {
                Gson gson = new Gson();
                User1 user1 = gson.fromJson(s, User1.class);
                List<User1.DataBean> data = user1.getData();
                if(page==1){
                    listt.clear();
                }
                listt.addAll(data);
                mybase.notifyDataSetChanged();
            }
        });
    }
}



4.activity_main


<?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:orientation="vertical"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

  <FrameLayout
      android:id="@+id/fra"
      android:layout_weight="9"
      android:layout_width="match_parent"
      android:layout_height="0dp"></FrameLayout>
<RadioGroup
    android:orientation="horizontal"
    android:layout_weight="1"
    android:id="@+id/rad"
    android:layout_width="match_parent"
    android:layout_height="0dp">
    <RadioButton
    android:id="@+id/rad1"
    android:gravity="center"
    android:button="@null"
    android:text="1"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/rad2"
        android:gravity="center"
        android:button="@null"
        android:text="1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/rad3"
        android:gravity="center"
        android:button="@null"
        android:text="1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/rad4"
        android:gravity="center"
        android:button="@null"
        android:text="1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <RadioButton
        android:id="@+id/rad5"
        android:gravity="center"
        android:button="@null"
        android:text="1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RadioGroup>

</LinearLayout>


5.fragment1


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"

    android:orientation="vertical"
    android:layout_height="match_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:id="@+id/l"

        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <HorizontalScrollView
            android:layout_weight="9"
            android:id="@+id/hor"
            android:scrollbars="none"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                android:id="@+id/lin"
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"></LinearLayout>
        </HorizontalScrollView>
        <Button
            android:layout_weight="1"
            android:id="@+id/bu"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:text="+"
            />
    </LinearLayout>
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v4.view.ViewPager>
</LinearLayout>


6.fragment1_one

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">
<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_weight="4"
    android:layout_width="match_parent"
    android:layout_height="0dp"></android.support.v4.view.ViewPager>
<com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/pull"
    android:layout_weight="6"
    android:layout_width="match_parent"
    android:layout_height="0dp"></com.handmark.pulltorefresh.library.PullToRefreshListView>
</LinearLayout>




猜你喜欢

转载自blog.csdn.net/SuperZhongyulong/article/details/80876660
今日推荐