我在动画完成后移动视图(从左侧滑出菜单)。但是,我似乎无法达到我想要的效果。我喜欢的是视图向右延伸超过父母的界限,如下所示:
但实际发生了什么:
视图重置自身以保持在父级的范围内。即使我设置了绝对像素值(通过查看显示器的宽度,甚至是随机大的值)。
我需要这样做的原因在这个SO问题中详细说明了动画完成后视图的实际位置: TranslateAnimated ImageView not clickable after animation [Android]
任何想法?谢谢!
答案 0 :(得分:3)
所以,这是一个related question。它解释了如何将视图移出屏幕。
答案 1 :(得分:1)
我有同样的问题,我找到了解决方案。我希望它会有所帮助。 如果要实现此效果,则需要设置固定宽度。要查找视图的实际宽度,您需要测量它。 所以完整的解决方案是:
view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int height = view.getMeasuredHeight();
int width = view.getMeasuredWidth();
view.setLayoutParams(new LinearLayout.LayoutParams(width, height));
(使用与父布局类型对应的类型的LayoutParams)