android 顶部tab页源码
时间: 2023-07-29 13:14:55 浏览: 86
以下是一个简单的 Android 顶部 Tab 页的实现代码示例:
1. 在 XML 布局文件中定义 TabLayout 和 ViewPager:
```xml
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
2. 在 Activity 或 Fragment 中配置 TabLayout 和 ViewPager:
```java
// 获取 TabLayout 和 ViewPager 对象
TabLayout tabLayout = findViewById(R.id.tab_layout);
ViewPager viewPager = findViewById(R.id.view_pager);
// 设置 ViewPager 的 Adapter
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
// 将 TabLayout 和 ViewPager 绑定
tabLayout.setupWithViewPager(viewPager);
```
3. 实现 ViewPager 的 Adapter:
```java
public class MyPagerAdapter extends FragmentPagerAdapter {
private static final int PAGE_COUNT = 3;
private String[] tabTitles = new String[] { "页面 1", "页面 2", "页面 3" };
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new FragmentOne();
case 1:
return new FragmentTwo();
case 2:
return new FragmentThree();
default:
return null;
}
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public CharSequence getPageTitle(int position) {
return tabTitles[position];
}
}
```
在这个示例中,我们创建了一个包含三个 Fragment 的 ViewPager,每个 Fragment 对应一个 Tab。PagerAdapter 用于将 ViewPager 中的 Fragment 显示在 TabLayout 中,并为每个 Tab 设置标题。