项目咨询 tablayout

1导入依赖

在这里插入图片描述
2布局

<?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"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#fff"
            tabGravity="fill"
            tabIndicatorColor="#0f0"
            tabMode="fixed"
            tabSelectedTextColor="#0f0"
            tabTextColor="#000"
            >
        </android.support.design.widget.TabLayout>
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"></android.support.v4.view.ViewPager>
    </LinearLayout>

</LinearLayout>

3fragment

package com.example.sheng.frag;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.sheng.BaseFragment;
import com.example.sheng.R;
import com.example.sheng.adapter.MyPagerAdapter;
import com.example.sheng.frag.tab.Frag01;
import com.example.sheng.frag.tab.Frag02;

import java.util.ArrayList;


public class FragList extends BaseFragment {

    private TabLayout tabLayout;
    private ViewPager pager;
    private ArrayList<Fragment> fragmentlist;
    private ArrayList<String> fraglist;
    private MyPagerAdapter myPagerAdapter;

    @Override
    protected int bindLayout() {
        return R.layout.fraglist;
    }

    @Override
    protected void initView() {
        //控件
        tabLayout = getActivity().findViewById(R.id.tabLayout);
        pager = getActivity().findViewById(R.id.pager);
    }

    @Override
    protected void initData() {
        //创建tablayout
        fragmentlist = new ArrayList<>();
        //穿件fragment集合
        fragmentlist.add(new Frag01());
        fragmentlist.add(new Frag02());
    }

    @Override
    protected void bindEvent() {
        //创建文本集合
        fraglist = new ArrayList<>();
        fraglist.add("one");
        fraglist.add("two");
        //设配器
        myPagerAdapter = new MyPagerAdapter(getActivity().getSupportFragmentManager(),fragmentlist,fraglist);
        pager.setAdapter(myPagerAdapter);
        tabLayout.setupWithViewPager(pager);
    }
}

4adapter适配器

package com.example.sheng.adapter;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;


public class MyPagerAdapter extends FragmentPagerAdapter {
    private ArrayList<String> fraglist;
    private ArrayList<Fragment> fragmentlist;

    public MyPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragmentlist, ArrayList<String> fraglist) {
        super(fm);
        this.fragmentlist=fragmentlist;
        this.fraglist=fraglist;
    }

    @Override
    public Fragment getItem(int i) {
        return fragmentlist.get(i);
    }

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

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

猜你喜欢

转载自blog.csdn.net/weixin_44258719/article/details/86564568