项目咨询 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);
}
}