问题标签 [android-viewpager2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 带有 Viewpager2 的关键 FragmentStateAdapter 的片段不再存在
我正在为我的项目使用 ViewPager2。我需要在带有 viewpager2 的片段中使用嵌套片段。在我尝试在片段(不是嵌套的片段)之间导航之前,它就像魅力一样。
第一次在片段之间导航后,应用程序崩溃并出现下面解释的错误。
包含嵌套片段 OnCreateView 方法的片段:
当我返回包含嵌套片段的片段时,它会崩溃
FragmentStatePagerAdapter 有解决方案,但 FragmentStateAdapter 没有。而且因为我不能覆盖 FragmentStateAdapter 中的方法,所以实现这个解决方案是不可能的。
谢谢您阅读此篇。任何帮助表示赞赏。
android - ViewPager2 - 滑块过渡滑动太快
我已经从viewpager2的文档中实现了以下动画
现在,在我的活动中,我用处理程序包装了这个动画以自动滑动,但是速度非常快,我什至无法注意到它的滑动
我已经调整了处理程序的延迟,但这不是问题所在,因为它只是在它要更改到另一个页面时延迟,但是在此更改期间的转换非常快,我怎样才能减慢它的速度?
android - ViewPager - 仅预览 1 个右页,而不是最后一页
我将我的设置ViewPager
为仅在右侧使用setPadding
和显示 1 页的预览pageMargin
:
largeRightPadding
足够大,可以显示我正确的预览页面。我当前的用户界面如下所示:
这是具有正确预览的第一个项目的外观:
如果我滚动到最后一项,右边会有空白
我想让它像这样,最后一项没有空白,而是显示左页的预览
提前致谢
android - 如何在横向使用 ViewPager2 进行轮播布局
我设法在 Android 应用程序中使用 ViewPager2 制作轮播布局。但是当我将应用程序切换到横向模式时,焦点中的较大图像会伸展并且看起来很奇怪。如何使用 viewpager2 在横向创建轮播布局。这就是我为肖像模式实现的方式。
android - 带有 Viewpager2-Fragments 的实时数据
我想更新我的旧 android 项目,并希望使用 Google 推荐的 ViewModel 和 Livedata 方式。我使用 Viewpager2 和 Tablayout,其中包含 4 个片段。第一个片段有一个 ViewModel 并通过 Livedata 观察数据变化并更新它的 UI。
我的问题是:
当我滑动到 Viewpager 中的第二个片段时会发生什么?第一个片段不再可见,但它仍然存在。不可见时,fragment1 的生命周期会发生变化吗?如果没有,我怎么能停止更新它,因为它仍然会收到更新通知。
我可以对所有 4 个片段使用相同的 ViewModel,因为它们只是以另一种方式可视化 Livedata 中的数据更改。我该怎么做?
谢谢!
java - java.lang.IllegalStateException:页面只能偏移正数
我在发布前报告中收到此错误,但它没有显示对我的 .java 文件的任何引用。任何人都可以对此有所了解吗?
我正在使用ViewPager2
带有页面转换的 (1.0.0)。
我发现这个关于 ViewPager2的页面参考了一个类似的错误,即 ViewPager2 的错误。
可能相关:
我最近才开始收到此错误。我最近以下列方式更改了我的代码。我正在覆盖该getItemCount()
方法,NUM_PAGES
它返回的值取决于其他地方的可选选项。以前,当切换此选项时,我只会recreate()
让 Activity 持有所有片段。相反,现在我打电话Objects.requireNonNull(recyclerViewAdapter).notifyDataSetChanged();
,效果很好。我不确定这是否是添加/删除或显示/隐藏最右侧片段的正确方法,因为其他选项会在片段通常所在的位置留下一个空白页面。
编辑:我PageTransformer
从ViewPager2
- 只设置了 alpha 中删除了我的 - 并且错误目前已经消失。但我认为这可能是巧合。我没有在“野外”看到错误,只是间歇性地在发布前报告中看到。
编辑:我的片段中没有带有布局动画的 ViewGroups:
android - ViewPager2如何更改子绘图顺序?
我正在尝试使用重叠项目(类似轮播的组件)来实现 ViewPager2。一切似乎都很好,但我的中心项目与下一个项目重叠。我希望我的中心项目位于任何相邻项目的前面。
见下图:
当您使用ViewPager1类时,我们可以覆盖getChildDrawingOrder
在此处查看示例解决方案:链接
但是 ViewPager2 不能被派生和扩展(因为 ViewPager2 类是最终的)。我该怎么办?
android - ViewPager2 异常:java.lang.IllegalStateException:违反设计假设
我自己无法重现此问题,但我在运行小米 MI 9 时注意到此问题Android 10
。这是我使用的ViewPager2
和RecyclerView
版本:
这是堆栈跟踪:
我不确定这是从我的代码中触发的,因为堆栈跟踪不是很清楚。此外,根据 Google Issuetracker,这已在 viewpager2:1.0.0-beta03: https://issuetracker.google.com/issues/134246546中解决,但在我的情况下并不完全如此。这是另一篇具有相同问题的帖子,但没有多少有用的答案:FragmentStateAdapter throws java.lang.IllegalStateException: Design假设 violation after configuration change。如果有人知道为什么会发生这种情况或如何解决它,那就太好了。
android - 填充数据不可见的片段?
我有一个活动,我正在使用 FragmentStateAdapter 类(ViewPager2)在两个片段之间滑动,类似于https://developer.android.com/training/animation/screen-slide-2。
我当前的问题是,当我尝试访问活动中第二个片段的视图元素时:
我正在接收:
当我使用第一个片段(该滑块的)尝试此操作时,它可以工作。可能是因为它是第一个片段并且最初是可见的?
如果其中一个不可见/未创建,我必须访问两个片段的视图元素有哪些可能性?
我的用例类似于:我有两个片段。一个显示食物和其他饮料。片段应该是可滑动的,因此屏幕上只显示一个类别(类似:https ://developer.android.com/training/animation/anim_page_transformer_zoomout.mp4 )。通过一项服务,我在我的 MainActivity 中接收这两个类别的外部数据。所以我已经在 MainActivity 中拥有了我需要的所有数据。我想将此数据拆分为两个片段并显示它们,例如 Pizza : 4 $ 和另一个片段 Cocktail: 5 $
java - viewpager2 中的无限滚动
我们如何在 ViewPager2 中实现无限滚动
因为OnPageChangeListener()
在这个寻呼机中没有。但是每当我们更改页面时,都会有setPageTransformer()
监听器获取回调。
所以viewpager2问题的任何解决方案
注意:我正在为 viewpager2 使用 recyclerview 适配器