TabLayout应用

本文介绍了如何在Android应用中使用TabLayout与ViewPager进行集成,实现页面切换和标签显示。首先,在布局文件中添加TabLayout和ViewPager,然后创建适配器MyAdapter,接着创建并添加多个Fragment到ViewPager,同时设置对应的标题。最后,通过setupWithViewPager方法将TabLayout与ViewPager关联,实现标签和页面的联动效果。
摘要由CSDN通过智能技术生成

第一步:将tabLayout 和 viewpager 添加到布局里面

           注意:这里需要将标签包引入

<android.support.design.widget.TabLayout
    android:id="@+id/tablayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    />
<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    />

第二步:创建一个适配器,进行数据和界面之间的适配(建一个MyAdapter的类)

//适配器里有什么?
//1 显示的fragment列表
private List<Fragment> list;
//2 显示标签的标题列表
private List<String> listTitle;


//重写构造函数,在构造函数里进行成员变量(fragment列表和标题列表的赋值)
public  MyAdapter(FragmentManager fm, List<Fragment> list, List<String> listTitle){
    super(fm);
    this.list = list;
    this.listTitle = listTitle;
}

@Override
public Fragment getItem(int position) {
    //返回位置对应的fragment
    return list.get(position);
}

@Override
public int getCount() {
    //返回所有fragment的个数
    return list.size();
}



//返回标题对应的tab上的名字

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


第三步:创建fragment(viewpager里面放的是fragment


第四步:将数据和界面关联起来

       

              //声明属性
    private TabLayout tabLayout;
    private ViewPager viewPager;


    //声明要显示的界面和标题数据
    private List<Fragment> list;
    private List<String> listTitle;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        // 在这里进行数据和界面的初始化
        // 1 将id和成员变量进行关联
        tabLayout =(TabLayout)findViewById(R.id.tablayout);
        viewPager = (ViewPager)findViewById(R.id.viewpager);
        //2 进行数据的初始化和整理
        list = new ArrayList<Fragment>();
        list.add(new OneFragment());
        list.add(new TwoFragmen());
        list.add(new ThreeFragment());


        listTitle = new ArrayList<String>();
        listTitle.add("One");
        listTitle.add("Two");
        listTitle.add("Three");


        //3 创建适配器
        MyAdapter adapter =new MyAdapter(getSupportFragmentManager(),list,listTitle);
        // 4 绑定适配器


        viewPager.setAdapter(adapter);
        //指定当前选中页
        viewPager.setCurrentItem(0);


        // 5 将tablayout 和viewpager 关联
        tabLayout.setupWithViewPager(viewPager);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值