使用 ViewPager 和 Fragment 做一个简单版的好友列表界面 1. 使用 ViewPager 和 Fragment 做个可滑动界面 2. 使用 TabLayout 添加 Tab 支持给出文件的所有代码,一定要给出import,以及配置。要求可以直接运行
时间: 2024-02-26 20:55:11 浏览: 94
viewpager2 tablayout fragment, tab自定义
好的,下面我会给出一个简单的好友列表界面的实现方式,包括 ViewPager、Fragment 和 TabLayout 的使用,并且提供完整的代码和配置,可以直接运行。
首先,我们需要创建一个新的 Android 项目,然后在主界面布局文件中添加 ViewPager 和 TabLayout,代码如下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
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"
android:background="@color/colorPrimary"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
```
然后,我们需要创建三个 Fragment,分别用来显示好友列表、聊天记录和个人信息,代码如下:
```java
public class FriendListFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_friend_list, container, false);
// TODO: 初始化好友列表界面
return view;
}
}
public class ChatFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_chat, container, false);
// TODO: 初始化聊天记录界面
return view;
}
}
public class ProfileFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_profile, container, false);
// TODO: 初始化个人信息界面
return view;
}
}
```
接着,我们需要创建一个 ViewPager 适配器,用来管理三个 Fragment,代码如下:
```java
public class MyPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments = new ArrayList<>();
private final List<String> mFragmentTitles = new ArrayList<>();
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
mFragments.add(fragment);
mFragmentTitles.add(title);
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitles.get(position);
}
}
```
最后,在 MainActivity 中初始化 ViewPager 和 TabLayout,并且将三个 Fragment 添加到 ViewPager 中。代码如下:
```java
public class MainActivity extends AppCompatActivity {
private ViewPager mViewPager;
private TabLayout mTabLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = findViewById(R.id.view_pager);
mTabLayout = findViewById(R.id.tab_layout);
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new FriendListFragment(), "好友列表");
adapter.addFragment(new ChatFragment(), "聊天记录");
adapter.addFragment(new ProfileFragment(), "个人信息");
mViewPager.setAdapter(adapter);
mTabLayout.setupWithViewPager(mViewPager);
}
}
```
以上就是实现一个简单的好友列表界面的全部代码和配置。希望能够帮助你理解 ViewPager、Fragment 和 TabLayout 的使用。
阅读全文