问题标签 [android-pagetransformer]

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 投票
0 回答
334 浏览

android - Android - ViewPager + FragmentStatePagerAdapter + PageTransformer

在我的应用程序中,我使用 ViewPager 和 PageTransformer 将一些数据列表显示为卡片组。该列表有时会刷新,并且在常见情况下它包含大量项目,因此我使用带有所需页面限制的 FragmentStatePagerAdapter:

没有什么不寻常的 - pojos 列表,覆盖 getItemPosition() 和使用 notifyDataSetChanged() 添加/清除方法。问题是当我尝试通过网络添加/替换项目时,我的转换器的方法transformPage(View view, float position)被调用为所有新视图的 0.0 位置,并且它们被放置在另一个上(转换被破坏)。

在调试 ViewPager 类后,我注意到transformPage(View view, float position)仅在 ViewPager 的onPageScrolled(..)方法中的一个位置调用,而后者在第一次布局传递后在onLayout(..)中调用。

notifyDataSetChanged() 调用onPageScrolled(..)(和transformPage(View view, float position)分别)和requestLayout()之后。问题是transformPage(View view, float position)的第一次调用发生在布局传递之前,并且位置参数取决于View.left(),它返回0,因为子视图没有布局。在requestLayout()之后的onLayout(..)中,我的transformPage(View view, float position)根本没有被调用,因为是的,现在已经对视图进行了布局,但这不是第一次布局传递。

通过重置适配器(它将ViewPager 中的mFirstLayout标志设置为“true”)或通过调用 ViewPager 的任何公共方法来解决该问题,该方法在其代码中调用transformPage(View view, float position),例如scrollTofakeDrag等,但我想知道 - 这是 ViewPager 的所有功能还是它是一个错误或者我做的事情非常非常错误?

对不起我的英语不好,提前谢谢!

0 投票
0 回答
334 浏览

android - 实现水平和垂直viewpager(Android)

我需要实现一个可以同时进行水平和垂直分页的 viewpager。如果用户垂直切换页面,垂直的 PageTransformer 应该执行动画。否则,应该发生常规动画。

我找到了几个试图解决这个问题的库,但是当其中一个视图内部有 ScrollView 时,它们就会遇到问题。

如果可能的话,我想在没有第三方库的情况下实现它。

到目前为止,我所拥有的只是垂直查看器的代码,但我不知道如何添加水平功能:

仅供参考,这是我的垂直 PageTransformer:

任何帮助,将不胜感激

0 投票
0 回答
278 浏览

android - ViewPager - 使用 PageTransformer 动态更改大小

我正在尝试使屏幕看起来像这样: |view 1| view 2 |view 3| | screen |

视图 2 是 的当前视图,是ViewPager其他 2 个视图宽度的 2 倍,并且比这 2 个视图高一点。视图 1 和视图 3 和视图 2 一样是完整视图,而不是部分视图。使用PageTransformer,我已经能够使当前视图达到想要的高度以及非常漂亮的微妙动画,但我无法使其更宽。

那么我怎样才能使 View 2 更宽PageTransformer呢?感谢您的任何回答/评论!

0 投票
1 回答
572 浏览

java - 垂直 ViewPager 中的动画

我需要垂直制作这个动画ViewPager

在此处输入图像描述

https://www.youtube.com/watch?v=wuE-4jjnp3g

这是我到目前为止所尝试的:

这是结果:

在此处输入图像描述

https://www.youtube.com/watch?v=G9W2lCKP-_s

我正在使用垂直方向的原始 ViewPager 的副本来查看代码:https://github.com/Devlight/InfiniteCycleViewPager/blob/master/infinitecycleviewpager/src/main/java/com/gigamole/infinitecycleviewpager/VerticalViewPager。爪哇

显然它甚至没有关闭,我需要预览下一页并使两页更接近。

在此处输入图像描述

请帮忙

谢谢你。

0 投票
1 回答
611 浏览

android - 如何在 ViewPager.PageTransformer.transformPage 方法中检测到页面已完成滑动?

此外,是否同时在传入和传出视图上调用 transformPage 方法?如何为左侧的传出视图制作动画,为右侧的传入视图制作动画?

0 投票
0 回答
293 浏览

android - Viewpager PageTransformer 动画背景到前景和前景到背景?

我用变压器动画实现了viewpager,但这里有不同的动画将这个背景应用到前景和前景到背景。

以及不同的前景到背景

但我需要两个在一起。

我使用了这个库https://github.com/geftimov/android-viewpager-transformers但这里它是单独的动画而不是组合动画。

因此,Android 人请帮助如何同时使用从左到右和从右到左的动画。

谢谢你!

0 投票
1 回答
517 浏览

android - 自定义垂直视图分页器不适用于子视图上的 onClick 侦听器

我从这里创建了这个自定义 ViewPager(Android:Vertical ViewPager):

我使用在每个页面内加载 ImageView 的适配器。这个 ImageView 有一个 onClickListener。

如果 ImageView 具有此侦听器,则自定义 viewpager 上的滑动不起作用。如果我删除监听器,工作正常。

有人知道可能是什么问题吗?

0 投票
0 回答
84 浏览

android-viewpager - ViewPager PageTransformation 问题

我正在使用带有 Velocity 和 Fling 效果的 Vertical ViewPager 来提供 3d 视图。我面临的问题是: i- PageTransformation 不适用于调用 notifydatasetchanged,直到我触摸 viewpager 并滚动一下。ii-当用户滚动列表并且我使用分页在寻呼机中添加新项目时,用户感觉很混蛋。我知道 PagerAdapter 不支持除“notifydatasetchanged”之外的任何其他方法。但是可以改进吗?任何想法将不胜感激。

谢谢

0 投票
0 回答
385 浏览

android - viewpager 适配器 notifyDataSetChanged 后,pagetransformer 不工作

我使用ViewPagerandPageAdapter来显示我的数据,而 ViewPager 有它PageTransformer,它运行良好,现在我需要在滑动到新项目时更新数据和 UI,但问题是当我滑动到新项目并调用`adapter.notifyDataSetChanged() ,我的数据和 UI 确实更新了,但我的 PageTransformer 不起作用。

这是我的代码:

适配器:</p>

页面转换器:</p>

更新数据:</p>

我只想在滑动到新项目时更新我的​​ UI 并确保我的 PageTransformer 运行良好,我曾经尝试过:

但是因为我更新了 UIonPageSelected()所以会导致StackOverFlow.

0 投票
0 回答
212 浏览

android - 当从 ViewPager 中删除页面时,PageTransformer 返回错误的位置

我想在我的 ViewPager https://raw.githubusercontent.com/bhaveshjabuvani88/CarouselEffect/master/CarouselEffectDemo.gif中实现这个动画

一切正常,直到我尝试从 ViewPager 中删除视图。
我在 ViewPager 中有 3 页。当我删除第 N2 页时transformPage(View view, float position),第 N1 页和第 N3 页的位置变为 0.0。因此,中心页面(第 N3 页)的位置变为负数:

position -= parent.getPaddingRight() / (float) pageWidth;
并且中心页面正在缩小。

你能帮忙解决这个问题吗?