动画期间布局的新位置在ui交互后重置

时间:2013-04-28 10:51:08

标签: android android-layout animation position

我在android 2.3中工作,我遇到了一个有点痛苦的问题。

我在FrameLayout中有两个布局。顶部布局在动画期间部分移动到屏幕外,并且在动画结束时调用.layout()方法。这很好用,并且ui被正确移动,并且toplayout的按钮仍然可以点击。 在动画之后,第二个布局是可见的,因为toplayout在屏幕外移动。此布局包含一个可单击的列表,每个单元格都有ImageView,单击时会更新。但是我的问题是,当单击表格单元格并更新ImageView时,整个视图将被重置,忽略动画和toplayout的新位置。它只是将动画放回到顶部,因为动画永远不会发生。

我使用TranslateAnimation,并且设置的fillafter也设置为true。

你们对我可能缺少的东西有什么建议。

1 个答案:

答案 0 :(得分:0)

我猜您的问题是将对象放在FrameLayout中。如this answer中所述,您无法通过设置其位置在FrameLayout中放置视图。

  

确实,使用FrameLayout,所有孩子都被挂在顶端   屏幕左侧,但你仍然有一些控制设置他们的   填充。如果为不同的子项设置不同的填充值,   它们将出现在FrameLayout的不同位置。

使用填充代替“移动”屏幕外的视图。