问题标签 [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.

0 投票
3 回答
9094 浏览

android - ViewPager2 里面有水平滚动视图

我为我的项目实现了新的 ViewPager。viewPager2 包含一个片段列表

在片段里面我有一个水平的recyclerView

问题是当我尝试滚动 recyclerview 时 viewPager 触摸并交换到下一个片段

当我使用旧的 ViewPager 时,我没有这个问题

0 投票
1 回答
7708 浏览

android - 未解决的参考:TabLayoutMediator

我正在开发一个需要TabLayout绑定到ViewPager2. 阅读本文并遵循此处的代码,我需要使用TabLayoutMediator. 但是在导入它时,我遇到了Unresolved reference错误。我知道这个错误指的是什么,但我在依赖项和导致错误的东西中找不到任何问题。如第二个链接中所述,此类包含在androidx.viewpager2:viewpager2:1.0.0-beta03该链接所讨论内容的较新版本中。我还尝试将版本降级到链接中提到的版本,但效果不佳。这是我的build.gradle文件:

这是我的MainActivity文件:

关于我应该做什么的任何想法?

0 投票
10 回答
8580 浏览

android - 如何将 Android ViewPager2 的高度包装到当前项目的高度?

这个问题是针对新的ViewPager2类的。

旧的 ViewPager也有类似的问题,但解决方案需要扩展ViewPager。但是, ViewPager2 是最终版本,因此无法扩展。

在我的情况下,我有一个包含三个不同片段的 ViewPager2。其中一个片段比其他两个片段高得多,这意味着当您滑动到其中一个较短的片段时,会有很多空白空间。那么如何有效地将 ViewPager2 包裹到当前片段的高度呢?

0 投票
0 回答
166 浏览

android - ViewPager2 (AndroidX) 导致倒数计时器出现问题

我正在构建寻呼机 Recyclerview,其中每个页面都有一个计时器。几秒钟后,我需要根据计时器值更改页面。但问题是,每当我切换到其他页面时,前一个计时器都会再次启动。我做了所有事情,我在 onCreateViewHolder 中创建了计时器,我在 onBindViewHolder 中创建了计时器,就像每个人都说的那样,但没有任何效果。请帮我解决这个问题。下面是我的代码。

0 投票
1 回答
104 浏览

android - 如何在 viewpager 中为片段设置不同的主题?

我的浏览器中有两个片段。第二个使用软键盘。所以当键盘出现时,它需要调整大小。但是基本活动的全屏主题是不可能的。

我希望第二个片段是透明的并显示基本活动的背景,但不在状态栏下绘制。我怎样才能做到这一点?

0 投票
2 回答
821 浏览

android-recyclerview - 带有 CollapsingToolbarLayout 的 Vertical Recyclerview 中的水平滚动 Recyclerview

ViewPager2_ RecyclerView_ RecyclerView_ ViewPager2_下图。

父 ViewPager2 是 CoordinatorLayout 的子级,它在 RecyclerView 垂直滚动时处理折叠顶部内容。这个 ViewPager2 然后膨胀水平滚动的片段。所以我们有parent layout

父 ViewPager2 child fragments' layout

内容 RecyclerView 的第一行具有相同的布局:

未滚动状态

您可以从上面的屏幕截图中看到,在第一次加载时RecyclerView重叠AppBarLayout是正确的行为。我在 ' 的父布局中添加了负数marginTopRecyclerView实现此效果。我正在使用 a 跟踪 AppBarLayout 偏移更改,AppBarLayout.OnOffsetChangedListener并且随着用户向上滚动,我正在减少或增加此负边距以使列表在AppBarLayout.

我面临的问题是,如果我从列表中的第一项开始垂直滚动,那么AppBarLayout不会触发开始折叠其内容,因此内容会过早地在AppBarLayout. 请参阅以下屏幕截图:

RecyclerView 滚动不正确

我希望 AppBarLayout 内容在我启动内容 RecyclerView 滚动后立即开始向上滚动,即使它是从第一个位置启动的。似乎第一个项目RecyclerView没有提醒AppBarLayout开始折叠。如果我从 RecyclerView 中的其他项目开始滚动,则会观察到正确的行为。如果我从第一行向上拖动并按住,则还会观察到该错误。

我试图实现的行为的一个很好的例子是谷歌新闻应用程序,其中有一个新闻部分的标签。以下是我所期待的:

正确的垂直滚动动画

0 投票
2 回答
406 浏览

android - 片段 onCreateView 被多次调用,以便每次都创建片段的新实例

我正在尝试在视图寻呼机的页面更改上添加片段。但是每次当我滚动视图寻呼机时,都会创建新的片段瞬间。

addFragments() 方法

getInstance() 方法

ViewPagerAdapter.java

0 投票
1 回答
749 浏览

java - 我无法为 viewPager2 调用 FragmentStateAdapter 中的 instantiateItem 元素

当我切换到 viewPager2 时,我必须实现另一种类型的适配器(我使用 FragmentPagerAdapter,现在我使用 FragmentStateAdapter),现在我想调用具有旧适配器但它没有出现在新适配器中的 instantiateItem 元素。

0 投票
1 回答
9466 浏览

android - 删除 viewPager2 中的片段使用 FragmentStateAdapter,但仍显示

我有viewPager2和FragmentStateAdapter,还有Fragement1、2,3 4,我在fragment2,想去掉fragment3,在fragment2之后显示fragment4。问题是它总是显示片段3(数据),调试显示片段3已被删除,但显示的页面仍然有片段3内容。

适配器:

}

删除片段代码:

0 投票
0 回答
614 浏览

android - 键盘打开时调用 Viewpager2 onPageSelected

我已经实现Viewpager2并且其中有 2 个片段,每当我打开键盘时,就会调用onPageSelectedofViewPager2.OnPageChangeCallback()并且所选页面首先显示到第一个,然后切换到第二个

我试过设置configChanges to keyboard in the manifest,但也失败了。请帮助我解释为什么它必须调用的合乎逻辑的原因,以及我应该怎么做才能解决这个问题。