Android TabLayout+ViewPage(二)

一 java文件

package com.qsyy.liveassistant.view.activity.personal;

import android.content.Intent;
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.view.Window;
import android.view.WindowManager;

import com.lidroid.xutils.view.annotation.ViewInject;
import com.qsyy.liveassistant.R;
import com.qsyy.liveassistant.view.fragment.MyAuthorFragment;
import com.qsyy.liveassistant.view.fragment.MyFirendsFragment;
import com.qsyy.liveassistant.widget.base.BaseActivity;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by huxiubo on 2017/8/30.
 */


public class MyAuthorActivity extends BaseActivity implements ViewPager.OnPageChangeListener, TabLayout.OnTabSelectedListener {
    @ViewInject(R.id.tabLayout)
    private TabLayout tabLayout;

    @ViewInject(R.id.viewPager)
    private ViewPager viewPager;

    private MyAuthorFragment mAuthorFragment;

    private List list;
    private MyAdapter adapter;
    private String[] titles = {"我的主播", "我的好友"};
    private int type = 0;

    @Override
    public int layoutID() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        return R.layout.activity_my_author;
    }

    @Override
    public void init() {
        list = new ArrayList<>();
        list.add(new MyAuthorFragment());
        list.add(new MyFirendsFragment());

        Intent intent = getIntent();
        type = intent.getIntExtra("type", 0);

        adapter = new MyAdapter(getSupportFragmentManager());
        viewPager.setAdapter(adapter);
        //绑定
        tabLayout.setupWithViewPager(viewPager);
//        tabLayout.setOnTabSelectedListener(this);
//        tabLayout.getTabAt(0).setText("我的主播");
//        tabLayout.getTabAt(1).setText("我的好友");
        checkBtn(type);
    }

    @Override
    public void onClick(View v) {

    }

    private void checkBtn(int checkPos) {
        switch (checkPos) {
            case 0:
//                attentionLiveFragment.reqAttentionLiveList();
//                mParepareLive.setVisibility(View.INVISIBLE);
                break;
            case 1:
//                mParepareLive.setVisibility(View.VISIBLE);
        }
        viewPager.setCurrentItem(checkPos);
    }

    private void checkBtn(TabLayout.Tab tab) {
        int checkPos = 0;
        if (tab == tabLayout.getTabAt(0)) {
            checkPos = 0;
        } else if (tab == tabLayout.getTabAt(1)) {
            checkPos = 1;
        }
        checkBtn(checkPos);
    }

    @Override
    public void onTabSelected(TabLayout.Tab tab) {
        checkBtn(tab);
    }

    @Override
    public void onTabUnselected(TabLayout.Tab tab) {

    }

    @Override
    public void onTabReselected(TabLayout.Tab tab) {

    }

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {
        checkBtn(position);
    }

    @Override
    public void onPageScrollStateChanged(int state) {

    }

    class MyAdapter extends FragmentPagerAdapter {

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

        @Override
        public Fragment getItem(int position) {
            return list.get(position);
        }

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

        //重写这个方法,将设置每个Tab的标题
        @Override
        public CharSequence getPageTitle(int position) {
            return titles[position];
        }
    }
}

二 Layout文件




    

        

            
        


        

        

    

    

你可能感兴趣的:(Android TabLayout+ViewPage(二))