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

Wan*_*ant 12 customization android android-layout stackview android-view

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

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

在此输入图像描述

在此输入图像描述

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

在此输入图像描述

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

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

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

提前谢谢你的答案.

Bar*_*ski 15

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

在此输入图像描述

它完全符合您的要求,并且基于您的选择,ViewPager因此您可以使用它PagerAdapter.


Sim*_*mas 7

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

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

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

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

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