在Android版面中无法使子视图比父视图更宽

时间:2011-12-01 21:51:35

标签: android layout animation

我在动画完成后移动视图(从左侧滑出菜单)。但是,我似乎无法达到我想要的效果。我喜欢的是视图向右延伸超过父母的界限,如下所示:

What I want

但实际发生了什么:

Actual Result

视图重置自身以保持在父级的范围内。即使我设置了绝对像素值(通过查看显示器的宽度,甚至是随机大的值)。

我需要这样做的原因在这个SO问题中详细说明了动画完成后视图的实际位置: TranslateAnimated ImageView not clickable after animation [Android]

任何想法?谢谢!

2 个答案:

答案 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)