ViewPager 2とTabLayoutの使用
2408 ワード
Googleアドレスhttps://github.com/android/views-widgets-samples
メリット
下付き文字の長さをカスタマイズ可能
fragmentのビジュアル再ロードを実現することができ、
垂直または横スライド表示が可能
アダプタは以下のように変更されました.
メインインタフェース
メリット
下付き文字の長さをカスタマイズ可能
fragmentのビジュアル再ロードを実現することができ、
垂直または横スライド表示が可能
//design
implementation "com.google.android.material:material:1.0.0"
implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha01'
アダプタは以下のように変更されました.
class BaseFragmentStateAdapter(fragmentManager: FragmentManager) :
FragmentStateAdapter(fragmentManager) {
fun add(fragment: Fragment) {
mFragments.add(fragment)
}
private val mFragments = mutableListOf()
override fun getItem(position: Int): Fragment {
return mFragments[position]
}
override fun getItemCount(): Int {
return mFragments.size
}
}
メインインタフェース
class ViewPage2Activity : AppCompatActivity() {
private lateinit var fragmentAdapter: BaseFragmentStateAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_view_page2)
initFragment()
}
private fun initFragment() {
fragmentAdapter = BaseFragmentStateAdapter(supportFragmentManager)
fragmentAdapter.add(LoginFragment())
fragmentAdapter.add(RegisterFragment())
fragmentAdapter.add(LoginFragment())
mViewPager.adapter = fragmentAdapter
// TabLayout ViewPager
val tabLayoutMediator =
TabLayoutMediator(mTabLayout, mViewPager,
OnConfigureTabCallback { tab, position ->
tab.text = "Tab$position" })
tabLayoutMediator.attach()
}
}