TabLayout使用简介

本文介绍如何在Android应用中实现TabLayout与ViewPager组件的联动效果。通过创建自定义适配器并设置ViewPager的数据源,可以轻松实现标签切换时内容的同步更新。此教程适用于希望提升用户体验的Android开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


这是要达到的效果。

具体使用如下;

步骤一:将TabLayout和ViewPager添加到布局文件里(注意:这里要将标签的包进行引入)

<android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tablayout"
    />
<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/viewpager"
    />


步骤二:创建一个适配器,进行数据和界面之间的适配

             在这里,需要知道,适配器里有什么。a.首先,我们要声明要显示的fragment列表和标签的标题列表

                                                                                 b.然后重写构造函数,在构造函数里进行 成员变量(fragment列表和标题列表)的赋值

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

@Override
public Fragment getItem(int position) {
    return list.get(position);
//返回对应位置的fragment
 }@Overridepublic int getCount() { return list.size();
//返回对应值fragment的个数
 }@Overridepublic CharSequence getPageTitle(int position) {
 return listTitle.get(position);
 //返回标题对应的tab上的名字

步骤三:将数据和界面进行关联

public class MainActivity extends AppCompatActivity {

    private TabLayout tablayout;
    private ViewPager viewPager;
//声明属性
    private List<Fragment> list;
    private List<String> listTitle;
// 声明要显示的界面和标题数组
    public MainActivity() {
} @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//在这里进行数据和界面的初始化 tablayout=(TabLayout) findViewById(R.id.tablayout); viewPager=(ViewPager) findViewById(R.id.viewpager);//1.将id和成员变量进行关联 list=new ArrayList<Fragment>(); list.add(new OneFragmentne()); list.add(new TwoFragment()); list.add(new ThreeFragment());

        listTitle=new ArrayList<String>();
listTitle.add("One"); listTitle.add("Two"); listTitle.add("Three");
//2.进行数据的初始化和整理
MyAdapter adapter=new MyAdapter(getSupportFragmentManager(),list,listTitle);
//3.创建适配器
        viewPager.setAdapter(adapter);
//4.绑定适配器 
viewPager.setCurrentItem(0); // 指定当前选中页
        tablayout.setupWithViewPager(viewPager);
//5.将TabLayout 和VIewPager关联

 }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值