0

我希望调整一个 View 的大小,该 View 开始时为 200px 宽 x 100px 高,然后在点击时“扩展”以填满屏幕的一半。它后面的所有视图都应该保持在同一个位置。我只想说视图扩展以填满屏幕的一半,与当前屏幕上的任何内容重叠。

最优雅的方法是什么?我花了很多时间设置我的布局,我真的不想改变它......

这就是我打算实现的方式:

  • 创建一个具有两个子级的 RelativeLayout:当前层次结构的根视图和第二个新的 RelativeLayout。
  • 从原始层次结构中删除 resizeView ,将其替换为占位符视图,这样东西就不会在原始层次结构中移动。
  • 将resizeView 添加到第二个RelativeLayout 并将其展开到屏幕的一半。
  • 当resizeView 想要折叠时,将其从第二个RelativeLayout 中移除。
  • 从原始视图层次结构中删除占位符。将 resizeView 放回原来的位置。
  • 恢复原始视图层次结构。

这个过程有意义吗?我觉得有点绕。有没有更好的办法?

4

3 回答 3

0

您可以将当前布局封装在框架布局中,并在此框架之上添加另一个包含移动视图的框架。

然后,您可以在其上层布局中自由地为运动图像设置动画,它会覆盖下面的内容:)

于 2013-06-12T07:47:40.397 回答
0

您无需删除和添加 RelativeLayout 和 Animation :

  • 录制后将展开动画应用到视图(不要忘记android:fillAfter="true"将动画转换应用到视图)

  • 要折叠,对折叠动画执行相同操作

于 2013-06-12T07:47:47.047 回答
-2

使用带有重量的精益布局......

于 2013-06-12T07:46:21.247 回答