我在android 2.3中工作,我遇到了一个有点痛苦的问题。
我在FrameLayout
中有两个布局。顶部布局在动画期间部分移动到屏幕外,并且在动画结束时调用.layout()
方法。这很好用,并且ui被正确移动,并且toplayout的按钮仍然可以点击。
在动画之后,第二个布局是可见的,因为toplayout在屏幕外移动。此布局包含一个可单击的列表,每个单元格都有ImageView
,单击时会更新。但是我的问题是,当单击表格单元格并更新ImageView
时,整个视图将被重置,忽略动画和toplayout的新位置。它只是将动画放回到顶部,因为动画永远不会发生。
我使用TranslateAnimation
,并且设置的fillafter也设置为true。
你们对我可能缺少的东西有什么建议。
答案 0 :(得分:0)
我猜您的问题是将对象放在FrameLayout中。如this answer中所述,您无法通过设置其位置在FrameLayout中放置视图。
确实,使用FrameLayout,所有孩子都被挂在顶端 屏幕左侧,但你仍然有一些控制设置他们的 填充。如果为不同的子项设置不同的填充值, 它们将出现在FrameLayout的不同位置。
使用填充代替“移动”屏幕外的视图。