Inflating/folding 出面板 Android

Inflating/folding out panel in Android

我正在开发一个简单的 Android 应用程序,它应该包含一个网络视图和两个控制面板。 一个小控制面板应该始终可见,而另一个应该在单击较小控制面板上的特殊按钮时膨胀。 实现 webview 不是问题。但是我不确定应该使用哪些布局和容器来实现屏幕右侧的控制面板。 有没有一种通用的方法来获取这些控制面板?我应该使用哪些布局和容器?

这是我想要如何排列屏幕的图片。

希望有人能帮助我。谢谢!

参见 MotionLayout,您可以使用非常基本的运动布局来完成此操作,您将为不可见面板和可见面板设置约束。

将第一个约束集 ConstraintSet 视为当侧面板不存在时您将使用的约束,另一个 ConstraintSet 当它存在时,您将有一个 Transition具有 OnClick 属性,并且您在可见侧面板中引用了一个按钮,当按下该按钮时,运动布局将在第一和第二约束集之间进行插值。 Here 类似例子

对于 MotionLayout

This 可能会有帮助

MotionTag Video series 中的前几个视频可能也有用 但概念是简单的设计,开始和结束的布局。 motionLayout 在它们之间进行插值。编写约束以使面板不在屏幕上可能很难可视化。