问题标签 [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 默认位置
我正在使用 ViewPager2 创建幻灯片。例如,幻灯片有 3 个项目,我想在活动打开时显示第二个项目。我使用setCurrentItem(int item, boolean smoothScroll)
方法,但它不起作用,没有任何反应。我怎样才能实现它?
android - 如何防止在 ViewPager2 中滚动时单击?
如何防止在ViewPager2中滚动时调用“onClick” ?
请注意我询问 ViewPager2。
当我滚动查看寻呼机时,单击了一个项目。
activity_main.xml
页面视图适配器
在这里您可以观看动作视频: https ://vimeo.com/340232497
android - ViewPager2 看到下一页的一部分并在屏幕第一页和最后一页居中
我有一个配置了各种扩展功能的 RecyclerView 以居中并查看下一项:
问题是这种方法的 ListAdapter 动画不好。然后我尝试移动到 ViewPager2 但我无法获得这种行为(请参阅下一个屏幕并保持项目居中)。
android - 如果滚动位置为 0,ViewPager2 中的片段不响应点击
我很高兴 Google 发布了基于 RecyclerView 构建的ViewPager2,以解决旧 ViewPager 存在的许多问题。
我很快将旧的 ViewPager 代码替换为 ViewPager2:
在 xml 中用 ViewPager2 替换 ViewPager
替换
FragmentPagerAdapter(FragmentManager)
为FragmentStateAdapter(Fragment)
ViewPager 设置如下:
/li>
没有进行其他更改。
问题
进行了上述更改后,我意识到了一个问题——
现在我的 ViewPager 是一个普通的水平分页器,我的每个片段fragmentAdapter
都有一个垂直的RecyclerView
.
我观察到,当 RecyclerView 的滚动位置为 0 时,我在该 RecyclerView 中的项目无法接收任何单击或长单击事件,但可以滚动。一旦滚动,它可以再次获得点击。*
ViewPager2
也知道这RecyclerView
与嵌套的 RecyclerView 有关吗?
android - ViewPager2 setCurrentItem 方法抛出错误
我正在使用ViewPager2
,并且我有一个按钮,可以将其当前页面更改为第二页,如下所示:
它一直有效,直到手动滑动页面,然后抛出此错误:
这只发生在这些点击上,当手动滑动碎片时一切正常。错误跟踪的所有位置都没有指向我的代码:(
这是我的 ViewPager 适配器:
这是Activity的全部相关代码:
android - 如何在 ViewPager2 中禁用特定方向的滑动
我想禁用从右向左滑动ViewPager2
。我的导航抽屉中基本上有一个带有 2 页的 viewpager2 元素。我希望我的第二页仅在我单击第一页中的某个元素时显示(从第一页从右向左滑动不应打开第二页),而当我在第二页中时,viewpager2 滑动(向左向右滑动)应该像在 viewpager 中那样滑动。
我尝试过扩展ViewPager2
类并覆盖触摸事件,但不幸的是它ViewPager2
是最终类,所以我无法扩展它。
其次,我尝试使用setUserInputEnabled
false 方法,但这完全禁用了所有滑动(我只想禁用从右到左滑动)。如果我能找到一些侦听器在滑动之前检查当前页面并禁用滑动,否则它可能会起作用。
设置 ViewPager2 的代码
android - 如何实现获取和返回 LifeCycle 的方法
我对生命周期的FragmentStateAdapter
要求有疑问,请帮助我如何在下面的代码行中设置和传递生命周期。
这是myViewPagerAdapter
方法
经过一番挖掘,我得到了这个,LifeCycle 是@NonNull
帮我完成这个方法返回当前的LifeCycle
android - 移除 ViewPager2 Overscroll 动画
找不到删除 ViewPager2 过度滚动阴影动画的方法。我知道在 ViewPager 上,您可以直接将 overscrollMode 属性设置为 never,但是,它在 ViewPager2 上不起作用
已经尝试了以下
android - 如何修复 ViewPager2 中的“违反设计假设”错误?
我正在使用 ViewPager2、Kotlin 和 AndroidX。当适配器不在索引 0 并且我更改适配器列表并将当前项目设置为索引 0 时,将引发异常。
在 ViewPager2 的第 537 行有一个 if 导致异常:
这就是我更新适配器列表的方式:
仅当smoothScroll
设置为true
我错过了什么?
编辑:
我正在androidx.viewpager2.widget.ViewPager2
使用com.google.android.material:material:1.1.0-alpha08
android - ViewPager2 - PagerTitleStrip 有替代品吗?
是否可以创建类似于 ViewPager 中存在的 PagerTitleStrip 的东西?我的意图是只显示添加的片段的标题,而没有 tabLayout。