Android:动画查看位置

kar*_*age 6 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);
Run Code Online (Sandbox Code Playgroud)

我还研究了视图的marginTop值,但是甚至无法确定如何完成.

任何这些方向的任何帮助将不胜感激.

Com*_*are 7

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

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

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

您可以在此处看到使用此技术的滑动窗格.