ViewPager 是 Android 中用于實現(xiàn)水平滑動切換頁面的組件,它通常與 Fragment 一起使用。要編寫 ViewPager 的適配器,你需要創(chuàng)建一個繼承自 PagerAdapter 或 FragmentPagerAdapter 的類。這里以 FragmentPagerAdapter 為例:
implementation 'androidx.fragment:fragment-ktx:1.3.6'
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 的數(shù)量
override fun getItemCount(): Int {
return fragmentList.size
}
}
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())
// 設(shè)置適配器
viewPager.adapter = adapter
}
}
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
現(xiàn)在,你已經(jīng)成功創(chuàng)建了一個 ViewPager 適配器,可以在 Activity 或 Fragment 中使用它來實現(xiàn)水平滑動切換頁面的功能。