Android expandable/collapable layout : Please i need a way to design an expandable layout that change its hieght and elements position and state(GONE,VISIBLE) with an animation just like the pictures below

 [Minimum height][1]


[Medium heght][2]


[Full height (match_parent)][2]


  [1]: https://drive.google.com/file/d/1F6EPr8onnhE8clAm87N1RZhRg5yoIi9K/view?usp=drivesdk
  [2]: https://drive.google.com/file/d/1_uLwZ5NPuLJJ7W5c1qISgCs6yZOFgjH7/view?usp=drivesdk