Android Kotlin ViewPager2+Fragment上下滑动 禁止拉伸效果
要禁止ViewPager2和Fragment的拉伸效果,你可以在ViewPager2的适配器中设置自定义的FragmentStateAdapter并覆盖createFragment方法,将返回的Fragment的宽度和高度设置为MATCH_PARENT。以下是示例代码:
class CustomFragmentAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) :
FragmentStateAdapter(fragmentManager, lifecycle) {
override fun createFragment(position: Int): Fragment {
return CustomFragment()
}
}
class CustomFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_custom, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// 设置Fragment的宽度和高度为MATCH_PARENT
view.layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
}
}
然后在你的Activity中,将ViewPager2的适配器设置为自定义的适配器:
val viewPager2 = findViewById<ViewPager2>(R.id.viewPager2)
val adapter = CustomFragmentAdapter(supportFragmentManager, lifecycle)
viewPager2.adapter = adapter
这样就可以禁止ViewPager2和Fragment的拉伸效果了
原文地址: https://www.cveoy.top/t/topic/iCO1 著作权归作者所有。请勿转载和采集!