Android:动画查看位置

时间:2010-02-03 21:26:05

标签: android android-animation

我正在尝试做一些看似简单的事情。我想要一个地图视图,其中一个菜单从屏幕底部向上滑动,可以调整设置(用于叠加)。但是当我使用TranslateAnimation来影响LinearLayout(它保存菜单)的y位置时,LinearLayout中的按钮会移动,但是“命中区域”会保持与动画之前相同的位置。

    TranslateAnimation slide = new TranslateAnimation(0,0,0,0);
 slide.setDuration(300);
 slide.setFillAfter(true);
 pullupMenu.startAnimation(slide);
 mapContainer.startAnimation(slide);

我还调查了视图的marginTop值,但是甚至无法确定如何完成。

非常感谢任何这些方向的帮助。

1 个答案:

答案 0 :(得分:7)

动画通常是为小部件的像素设置动画。根据你写的内容,我怀疑setFillAfter()只是安排像素留在目标位置,而不是小部件本身。

如果您希望动画实际上最终移动小部件,则需要:

  • 注册一个监听器以找出动画何时结束,
  • 安排此时修改布局规则,使小部件实际存在于新位置

您可以看到使用此技术的滑动窗格here