是否可以在Android中制作均匀拆分的手风琴视图(可扩展视图)?



我正在尝试制作 3 个均匀拆分的可扩展菜单。 我已经工作了一个多星期了。但似乎不可能创造它。

我想做的布局效果是这样的。

假设 300dp 是我的设备高度。 并且有 3 个标题(每个 50dp(和 3 个可扩展布局。 它将是一个静态手风琴菜单,因此不需要滚动条。

如果用户单击其中一个项目。 它应该扩展为 200dp。(300dp - 50dp*2( 其他 2 个可扩展项目应缩小为 0dp。

展开/折叠有动画,动画应该根据 AndroidAnimator类有一个特定的值。但是,如果我想同时对两个布局进行动画处理,则会导致计算问题。

到目前为止,我尝试了 2 个 Github 库。

  • https://github.com/cachapa/ExpandableLayout
  • https://github.com/florent37/ExpansionPanel

但是,两者都存在样本问题。请参考我的陈述。

  • 演示视频1 : https://youtu.be/yJ7ZIQWG3no
  • 演示视频2 : https://youtu.be/xQ8HoWWdPOU
  • 演示视频3 : https://youtu.be/kO4cfYp36Co

另外,我在这里发布了这个问题作为一个问题:https://github.com/cachapa/ExpandableLayout/issues/78 你可以在这里看到布局文件,但其中一位贡献者说,这不是库的问题。而是关于动画或大小计算。

到目前为止我尝试过:

  • 线性布局作为根布局,每个标头都有android:layout_weight="1"属性。
  • 结构布局和每个标头都有app:layout_constraintHeight_percent="0.33".

我最终找到了一个名为stepper的替代UI库。 - https://github.com/fython/MaterialStepperView

最新更新