TabLayout+ViewPager实现tab和页面联动效果

来源:互联网 发布:网络密匙 编辑:程序博客网 时间:2024/05/16 13:44

//导入依赖(要与compile 'com.android.support:appcompat-v7:26.+'对应)

compile 'com.android.support:design:26.+'

//布局依赖

xmlns:app="http://schemas.android.com/apk/res-auto"

//布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical">        <android.support.design.widget.TabLayout        android:id="@+id/tab_FindFragment_title"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="#F2F2F2"        app:tabIndicatorColor="#81B9B8"        app:tabSelectedTextColor="#7BB6B5"        app:tabTextColor="#BBBBBB" />        <android.support.v4.view.ViewPager        android:id="@+id/vp_FindFragment_pager"        android:layout_width="fill_parent"        android:layout_height="0dp"        android:layout_weight="1" />    </LinearLayout>

//activity

TabLayout tab_FindFragment_title = (TabLayout) findViewById(R.id.tab_FindFragment_title);        ViewPager vp_FindFragment_pager = (ViewPager) findViewById(R.id.vp_FindFragment_pager);        List<Fragment> list_fragment = new ArrayList<>();        list_fragment.add(new OneFragmentOne());        list_fragment.add(new OneFragmentTwo());        list_fragment.add(new OneFragmentThree());        List<String>list_title = new ArrayList<>();        list_title.add("ANDROID");        list_title.add("IOS");        list_title.add("福利");        //设置TabLayout的模式        tab_FindFragment_title.setTabMode(TabLayout.MODE_FIXED);        //为TabLayout添加tab名称        tab_FindFragment_title.addTab(tab_FindFragment_title.newTab().setText(list_title.get(0)));        tab_FindFragment_title.addTab(tab_FindFragment_title.newTab().setText(list_title.get(1)));        tab_FindFragment_title.addTab(tab_FindFragment_title.newTab().setText(list_title.get(2)));        fAdapter = new TitleFragmentPagerAdapter(this.getSupportFragmentManager(), list_fragment, list_title);        //viewpager加载adapter        vp_FindFragment_pager.setAdapter(fAdapter);        //tab_FindFragment_title.setViewPager(vp_FindFragment_pager);        //TabLayout加载viewpager        tab_FindFragment_title.setupWithViewPager(vp_FindFragment_pager);

//Fragment文件


public class OneFragmentOne extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment3, container, false);        return view;    }}



原创粉丝点击