简单使用Tablayout+ViewPager

main

 private void initView() {
        quxiao = (TextView) findViewById(R.id.quxiao);
        quxiao.setOnClickListener(this);
        guanjianzi = (EditText) findViewById(R.id.guanjianzi);
        tablayout = (TabLayout) findViewById(R.id.tablayout);
        viewpager = (ViewPager) findViewById(R.id.view_pager);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.quxiao:
                Attention2Activity.this.finish();
                break;
        }
    }

    private void initDate() {


//将各个标题装在titles里面
        titles = new ArrayList<String>();
        titles.add("游戏");
        titles.add("音乐");
        titles.add("综艺");
        titles.add("电视");
        titles.add("电影");
        titles.add("舞蹈");
        titles.add("武侠");
        titles.add("喜剧");
        titles.add("戏剧");
        titles.add("荣耀");
        titles.add("联盟");
        titles.add("火线");
        //将两个Fragment装进集合中
        list = new ArrayList<Fragment>();
        Fragment1 f1 = new Fragment1();
        Fragment2 f2 = new Fragment2();
        Fragment3 f3 = new Fragment3();
        Fragment4 f4 = new Fragment4();
        Fragment5 f5 = new Fragment5();
        Fragment6 f6 = new Fragment6();
        Fragment7 f7 = new Fragment7();
        Fragment8 f8 = new Fragment8();
        Fragment9 f9 = new Fragment9();
        Fragment10 f10 = new Fragment10();
        Fragment11 f11 = new Fragment11();
        Fragment12 f12 = new Fragment12();
        list.add(f1);
        list.add(f2);
        list.add(f3);
        list.add(f4);
        list.add(f5);
        list.add(f6);
        list.add(f7);
        list.add(f8);
        list.add(f9);
        list.add(f10);
        list.add(f11);
        list.add(f12);
        //使用manager和transtion提交事务后为viewpager设置一个适配器
        manager = getSupportFragmentManager();
        MyFragmentPageAdapter adapter = new MyFragmentPageAdapter(manager);
        transtion = manager.beginTransaction();
        transtion.commit();
        viewpager.setAdapter(adapter);
        // tablayout.addTab可以将标题添加进Tab里面,true表示默认选中
        tablayout.addTab(tablayout.newTab().setText(titles.get(0)), true);
        tablayout.addTab(tablayout.newTab().setText(titles.get(1)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(2)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(3)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(4)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(5)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(6)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(7)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(8)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(9)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(10)), false);
        tablayout.addTab(tablayout.newTab().setText(titles.get(11)), false);
        //这两个方法是将Tablayout和Viewpager联合起来
        tablayout.setupWithViewPager(viewpager);
        tablayout.setTabsFromPagerAdapter(adapter);

    }

    @Override
    public int getContentLayout() {
        return R.layout.activity_attention2;
    }

    @Override
    public void inject() {
        DaggerHttpComponent.builder()
                .httpModule(new HttpModule())
                .build()
                .inject(this);
    }

    // 定义一个适配器给ViewPager
    class MyFragmentPageAdapter extends FragmentPagerAdapter {

        public MyFragmentPageAdapter(FragmentManager fm) {
            super(fm);
            // TODO Auto-generated constructor stub
        }

        @Override
        public android.support.v4.app.Fragment getItem(int arg0) {
            // TODO Auto-generated method stub
            return list.get(arg0);
        }

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

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return list.size();
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            // TODO Auto-generated method stub
            super.destroyItem(container, position, object);
        }

主布局

<android.support.design.widget.TabLayout
    android:id="@+id/tablayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    app:tabIndicatorColor="@android:color/holo_red_dark"
    app:tabSelectedTextColor="@android:color/holo_red_light"
    app:tabTextColor="@android:color/black"/>

<android.support.v4.view.ViewPager
    android:id="@+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tablayout" />

猜你喜欢

转载自blog.csdn.net/zhang1223665986/article/details/80669953