Android activity+fragment+viewpager滑动页面实现之TabLayout

build.gradle添加依赖

compile('com.android.support:design:25.1.1') {
    force = true
}

添加依赖之后如果有报错。可参考

https://blog.csdn.net/meixi_android/article/details/81168868

MyFragmentAdapter

public class MyFragmentAdapter extends FragmentPagerAdapter {
    private List<Fragment> fragmentList;
    private List<String> titleList;

    public MyFragmentAdapter(FragmentManager fragmentManager, List<Fragment> fragmentList, List<String> titleList) {
        super(fragmentManager);
        this.fragmentList = fragmentList;
        this.titleList = titleList;
    }

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

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

    @Override
    public CharSequence getPageTitle(int position) {
        return titleList.get(position % titleList.size());
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
}

MyFragment,MytwoFragment,ThreeFragment

import android.support.v4.app.Fragment;//主要是v4的fragment


public class MyFragment extends Fragment{

    protected View contentView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        contentView = inflater.inflate(R.layout.my_fragment, container, false);
        initViews();
        return contentView;

    }
    public void initViews(){

        TextView textView =(TextView)contentView.findViewById(R.id.myte11);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getContext(),"ssss",Toast.LENGTH_SHORT).show();
            }
        });
    }


}

Activityfragment

public class Activityfragment extends FragmentActivity {

    TabLayout tabLayout;
    ViewPager viewPagerl;
    private List<Fragment> fragmentList;
    private List<String> titleList;
    MyFragment onef;
    MytwoFragment twof;
    ThreeFragment threef;
    private MyFragmentAdapter adapter;

    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.activityfragment);
        tabLayout =(TabLayout)findViewById(R.id.activity_esui_tab_layout);
        viewPagerl =(ViewPager)findViewById(R.id.activity_esui_viewPager);

        initViewPager();

//        switchContent();
    }
    private void initViewPager() {
        onef = new MyFragment();
        twof = new MytwoFragment();
        threef = new ThreeFragment();
        fragmentList = new ArrayList<>();
        fragmentList.add(onef);
        fragmentList.add(twof);
        fragmentList.add(threef);
        titleList = new ArrayList<>();
        titleList.add("会话");
        titleList.add("群聊");
        titleList.add("通讯录");
        tabLayout.setTabMode(TabLayout.MODE_FIXED);//不可以轮动
        tabLayout.addTab(tabLayout.newTab().setText(titleList.get(0)));
        tabLayout.addTab(tabLayout.newTab().setText(titleList.get(1)));
        tabLayout.addTab(tabLayout.newTab().setText(titleList.get(2)));
        adapter = new MyFragmentAdapter(getSupportFragmentManager(), fragmentList, titleList);
        viewPagerl.setAdapter(adapter);
//        activityMyCrowdFundingViewPager.setOffscreenPageLimit(11);
        tabLayout.setupWithViewPager(viewPagerl);
    }

}

还有配置theme

<activity android:name=".evbs.Activityfragment"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar">

</activity>

猜你喜欢

转载自blog.csdn.net/meixi_android/article/details/81116468