TabLayout的使用

202 阅读1分钟

作用:
用于实现滑动的选项卡功能
步骤:
1、添加依赖库:com.android.support:design:25.1.1
2、acvititymain。xml
① 配置信息 xmlns:app=”schemas.android.com/apk/res-aut…
② 配置控件:

<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorColor="@android:color/holo_blue_light"
app:tabIndicatorHeight="3dp"
app:tabMode="fixed"
app:tabTextColor="@android:color/darker_gray"
app:tabSelectedTextColor="@android:color/holo_blue_light">
</android.support.design.widget.TabLayout>

<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>

3、以Fragment为数据源的自定义adapter

public class MyAdapter extends FragmentPagerAdapter {
private List<Fragment> list;
public MyAdapter(FragmentManager fm,List<Fragment> list) {
    super(fm);
    this.list=list;
}

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

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

/**
 * 设置Fragment标题
 * @param position
 * @return
 */
@Override
public CharSequence getPageTitle(int position) {
    return "Fragment"+position+1;
}

4 、MainAcvitity。Java
public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout;
private ViewPager vp;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tabLayout= (TabLayout) findViewById(R.id.tab);
    vp= (ViewPager) findViewById(R.id.vp);
    init();
}
private void init(){
    List<Fragment>  list=new ArrayList<>();
    list.add(new Fragment1());
    list.add(new Fragment2());
    list.add(new Fragment3());
    MyAdapter adapter=new MyAdapter(getSupportFragmentManager(),list);
    vp.setAdapter(adapter);
    tabLayout.setupWithViewPager(vp);//设置Tablayout随Fragment一起滚动
}