android - 如何在不添加活动的情况下添加用于在片段之间滑动的 viewPager
问题描述
我正在开发一个 Kotlin 应用程序,并且在某些时候我想实现 viewPager 在片段之间滑动。我有一项活动可以通过导航图导航到应用程序的其余部分。我还没有真正理解这种刷卡应该如何工作。
我的问题是,除了 pageAdapter 之外,我还需要实现一个新活动吗?这个活动将如何与主要活动合作?我的应用程序目前有一个启动画面,之后我想在片段之间使用滑动模式。
解决方案
我想实现 viewPager 在片段之间滑动。
好的
我有一项活动可以通过导航图导航到应用程序的其余部分。
凉爽的
除了pageAdapter,我还需要实现一个新活动吗?
不
这个活动将如何与主要活动合作?
没有第二个活动,那就不需要“合作”
我想在片段之间使用滑动模式。
https://gist.github.com/Zhuinden/c643f03a023a9cbe83fff6c75c948d3b
class MyFragmentPagerAdapter(
private val context: Context,
fragmentManager: FragmentManager
) : FragmentPagerAdapter(fragmentManager) {
override fun getCount() = 2
override fun getItem(position: Int) = when(position) {
0 -> FirstFragment()
1 -> SecondFragment()
else -> throw IllegalStateException("Unexpected position $position")
}
override fun getPageTitle(position: Int): CharSequence = when(position) {
0 -> context.getString(R.string.first)
1 -> context.getString(R.string.second)
else -> throw IllegalStateException("Unexpected position $position")
}
}
class ParentFragment: Fragment() {
override fun onCreateView(...) = ...
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val viewPager = view.findViewById(R.id.view_pager)
viewPager.adapter = MyFragmentPagerAdapter(requireContext(), childFragmentManager)
tabLayout.setupWithViewPager(viewPager)
}
}
推荐阅读
- angular - 成功登录后显示登录的用户名不更新Angular 8中的div
- android - Cloud Firestore:从 API 添加和更新数据
- dart - 根据所需的精度将持续时间四舍五入到最接近的秒数
- ruby - Sinatra 应用程序在不使用 Shotgun 时引发错误
- android - 即使在滚动完成后,如何访问 recyclerView 中的特定视图/viewHolder?
- android - 默认浏览器
- python - 您何时在 SageMaker 训练作业中指定目标变量?
- machine-learning - 验证准确性和验证损失在每个时期几乎保持不变
- r - 如何在 DESeq2 中索引设计公式元素?
- terraform - 如何从 AWS 控制台派生策略转变为有效的 terraform 脚本策略?