如何在android中实现自定义堆栈视图?

我搜索过互联网,但我找不到一些好的解释或建议。 基本上,我想实现这个function。

在此处输入图像描述 在滑下来

在此处输入图像描述

在此处输入图像描述

我使用了StackView类,我得到的就是这个“对角线”堆栈

在此处输入图像描述

我希望观点一个接一个,如上图所示。

类似的问题在这里被问到 – > Android自定义stackview ,但我找不到任何令人满意的答案。

我已经按照建议阅读了StackView的代码,但老实说,我不知道如何自定义它以获得我想要的东西。 当我更改PERSPECTIVE_SHIFT_FACTOR_X或PERSPECTIVE_SHIFT_FACTOR_Y的值时,没有任何变化,我得到相同的“对角线视图”。 我错过了什么吗?

提前谢谢你的答案。

随意使用我的图书馆。

在此处输入图像描述

它完全符合您的要求,并且基于ViewPager因此您只需使用您选择的典型PagerAdapter

您无法更改原始PERSPECTIVE_SHIFT_FACTOR_X因为它是私有字段。

StackView使用许多具有包可见性的类,并且只能在包android.widget中使用

此外,其中一些类是预编译的,并且无法find源代码,因此您不能只复制粘贴它们并从零创建自己的自定义StackView

您可以通过覆盖onLayout使视图显示在列中,但是一旦为它们设置animation,它们的位置就会更改回默认值。 遗憾的是,视图animation是在StackView私有方法中完成的,所以你也无能为力。

您最好创建自己的类来执行此操作,并且可以引用StackView源中使用的代码。 创建这样一个类可能需要很多工作,而且它绝对不在单个问题的范围内。