如何在 android 中实现自定义堆栈视图?
How to implement customized stack view in android?
我在互联网上搜索过,但找不到好的解释或建议。
基本上,我想实现这个功能。
向下滑动
我使用了 StackView class,我得到的只是这个 "diagonal" 堆栈
我希望视图一个接一个地排列,如上图所示。
这里问了类似的问题 -> Android customize stackview,但我找不到满意的答案。
我已经按照建议阅读了 StackView 的代码,但老实说,我不知道如何自定义它才能获得我想要的内容。
当我更改 PERSPECTIVE_SHIFT_FACTOR_X 或的值时
PERSPECTIVE_SHIFT_FACTOR_Y 没有任何变化,我得到相同的结果 "diagonal view"。我错过了什么吗?
提前感谢您的回答。
您无法更改原始 PERSPECTIVE_SHIFT_FACTOR_X
,因为它是私有字段。
StackView
使用许多 class 具有 包可见性 并且仅在包 android.widget[= 中可用29=]。
此外,其中一些 class 是预编译的,找不到源代码,因此您不能只 复制粘贴 它们并创建你自己的定制 StackView
从零开始。
您可以通过覆盖 onLayout
使视图显示在一列中,但是一旦您为它们设置动画,它们的位置就会变回默认值。遗憾的是,视图动画是在 StackView
的私有方法中完成的,因此您也无能为力。
您最好创建自己的 class 来执行此操作,并且您可以参考 StackView
源代码中使用的代码。创建这样一个 class 可能需要大量工作,而且绝对不在单个问题的范围内。
欢迎使用我的图书馆here。
它完全满足您的需求,并且基于 ViewPager
,因此您可以将其与您选择的典型 PagerAdapter
一起使用。
我在互联网上搜索过,但找不到好的解释或建议。 基本上,我想实现这个功能。
我使用了 StackView class,我得到的只是这个 "diagonal" 堆栈
我希望视图一个接一个地排列,如上图所示。
这里问了类似的问题 -> Android customize stackview,但我找不到满意的答案。
我已经按照建议阅读了 StackView 的代码,但老实说,我不知道如何自定义它才能获得我想要的内容。 当我更改 PERSPECTIVE_SHIFT_FACTOR_X 或的值时 PERSPECTIVE_SHIFT_FACTOR_Y 没有任何变化,我得到相同的结果 "diagonal view"。我错过了什么吗?
提前感谢您的回答。
您无法更改原始 PERSPECTIVE_SHIFT_FACTOR_X
,因为它是私有字段。
StackView
使用许多 class 具有 包可见性 并且仅在包 android.widget[= 中可用29=]。
此外,其中一些 class 是预编译的,找不到源代码,因此您不能只 复制粘贴 它们并创建你自己的定制 StackView
从零开始。
您可以通过覆盖 onLayout
使视图显示在一列中,但是一旦您为它们设置动画,它们的位置就会变回默认值。遗憾的是,视图动画是在 StackView
的私有方法中完成的,因此您也无能为力。
您最好创建自己的 class 来执行此操作,并且您可以参考 StackView
源代码中使用的代码。创建这样一个 class 可能需要大量工作,而且绝对不在单个问题的范围内。
欢迎使用我的图书馆here。
它完全满足您的需求,并且基于 ViewPager
,因此您可以将其与您选择的典型 PagerAdapter
一起使用。