我正在尝试做一些看似简单的事情。我想要一个地图视图,其中一个菜单从屏幕底部向上滑动,可以调整设置(用于叠加)。但是当我使用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值,但是甚至无法确定如何完成。
非常感谢任何这些方向的帮助。
答案 0 :(得分:7)
动画通常是为小部件的像素设置动画。根据你写的内容,我怀疑setFillAfter()
只是安排像素留在目标位置,而不是小部件本身。
如果您希望动画实际上最终移动小部件,则需要:
您可以看到使用此技术的滑动窗格here。