12

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

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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

我希望视图是一个接一个,如上图所示。

此处提出了类似的问题-> Android customize stackview,但我找不到任何令人满意的答案。

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

提前感谢您的答案。

4

2 回答 2

16

随意使用我的图书馆在这里可用。

在此处输入图像描述

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

于 2015-01-31T19:58:09.487 回答
7

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

StackView使用许多具有包可见性且仅在包android.widget中可用的类。

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

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

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

于 2015-01-25T10:47:39.420 回答