阅读量:0
ViewPager 是 Android 中用于实现水平滑动切换页面的组件,它通常与 Fragment 一起使用。要编写 ViewPager 的适配器,你需要创建一个继承自 PagerAdapter 或 FragmentPagerAdapter 的类。这里以 FragmentPagerAdapter 为例:
- 首先,在项目的 build.gradle 文件中添加对 Fragment 的依赖:
implementation 'androidx.fragment:fragment-ktx:1.3.6'
- 创建一个继承自 FragmentPagerAdapter 的适配器类:
import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import androidx.viewpager2.adapter.FragmentStateAdapter class MyFragmentPagerAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) { // 存储要显示的 Fragment 列表 private val fragmentList = mutableListOf<Fragment>() // 添加 Fragment 到列表 fun addFragment(fragment: Fragment) { fragmentList.add(fragment) } // 获取当前位置的 Fragment override fun createFragment(position: Int): Fragment { return fragmentList[position] } // 获取 Fragment 的数量 override fun getItemCount(): Int { return fragmentList.size } }
- 在你的 Activity 或 Fragment 中设置 ViewPager 和适配器:
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.viewpager2.widget.ViewPager2 class MainActivity : AppCompatActivity() { private lateinit var viewPager: ViewPager2 private lateinit var adapter: MyFragmentPagerAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) viewPager = findViewById(R.id.viewPager) adapter = MyFragmentPagerAdapter(this) // 添加要显示的 Fragment adapter.addFragment(FirstFragment()) adapter.addFragment(SecondFragment()) adapter.addFragment(ThirdFragment()) // 设置适配器 viewPager.adapter = adapter } }
- 在布局文件中添加 ViewPager:
android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" />
现在,你已经成功创建了一个 ViewPager 适配器,可以在 Activity 或 Fragment 中使用它来实现水平滑动切换页面的功能。