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

时间:2015-01-22 20:33:39

标签: android android-layout customization android-view stackview

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

enter image description here 在滑下

enter image description here

enter image description here

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

enter image description here

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

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

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

提前感谢您的答案。

2 个答案:

答案 0 :(得分:15)

随意使用我的库here

enter image description here

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

答案 1 :(得分:7)

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

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

此外,其中一些课程已预编译,而且无法找到来源,因此您无法复制粘贴它们并创建自己的自定义StackView从零开始。

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

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