frament 使用tab导航栏
时间: 2024-05-05 11:19:47 浏览: 10
要在 Fragment 中使用 Tab 导航栏,可以使用 ViewPager 和 TabLayout。
首先,在布局文件中定义 ViewPager 和 TabLayout,例如:
```
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
```
然后,在 Fragment 中获取 ViewPager 和 TabLayout,并设置适配器,例如:
```
public class MyFragment extends Fragment {
private ViewPager viewPager;
private TabLayout tabLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
viewPager = view.findViewById(R.id.view_pager);
tabLayout = view.findViewById(R.id.tab_layout);
// 设置 ViewPager 适配器
MyPagerAdapter pagerAdapter = new MyPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(pagerAdapter);
// 设置 TabLayout 和 ViewPager 的关联
tabLayout.setupWithViewPager(viewPager);
return view;
}
private static class MyPagerAdapter extends FragmentPagerAdapter {
private static final int PAGE_COUNT = 3;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MyFragment1();
case 1:
return new MyFragment2();
case 2:
return new MyFragment3();
default:
return null;
}
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Tab1";
case 1:
return "Tab2";
case 2:
return "Tab3";
default:
return null;
}
}
}
// MyFragment1、MyFragment2、MyFragment3 分别是三个需要显示的 Fragment
}
```
这样,就可以在 Fragment 中使用 Tab 导航栏了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)