TablayoutDemo

来源:互联网 发布:蓝天超频软件 编辑:程序博客网 时间:2024/06/01 13:24
package com.bwie.tablayoutviewpagerfragmentday13;


import android.os.Bundle;
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.support.v7.app.AppCompatActivity;


import java.util.ArrayList;


public class MainActivity extends AppCompatActivity {


    private TabLayout mMytablayout;
    private String[] channels = {"关注", "热点", "推荐", "北京", "娱乐", "体育", "教育", "科技", "历史", "地理", "视频"};
    private ViewPager mVp;
    private ArrayList<Fragment> fragments;
    private FragmentManager fm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }


    private void initView() {
        mMytablayout = (TabLayout) findViewById(R.id.mytablayout);
        mVp = (ViewPager) findViewById(R.id.vp);//得到ViewPager
        mMytablayout.setupWithViewPager(mVp);
        fm = getSupportFragmentManager();
//        mMytablayout.setTabMode(TabLayout.MODE_SCROLLABLE);//设置显示的模式
        //给mMytablayout配置tab页
        for (int i = 0; i < channels.length; i++) {
            mMytablayout.addTab(mMytablayout.newTab().setText(channels[i]).setIcon(R.mipmap.ic_launcher));//
        }
        //给VIewPager配置pager页
        fragments = new ArrayList<Fragment>();
        for(int i=0;i<channels.length;i++){
            MyFragmentForVp fragment = new MyFragmentForVp();//创建fragment作为vp的pager页
            //向Fragment传值
            Bundle b = new Bundle();
            b.putString("title",channels[i]);
            fragment.setArguments(b);


            fragments.add(fragment);//保存fragment,作为vp的pager页
        }
        //通过适配器配置给vp
        mVp.setAdapter(new FragmentPagerAdapter(fm) {
            @Override
            public Fragment getItem(int position) {


                return fragments.get(position);
            }


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


            @Override
            public CharSequence getPageTitle(int position) {
                return channels[position];
            }
        });




    }
}
原创粉丝点击