在Android布局中,无法使子视图比父视图更宽。

7

我正在完成一个动画后移动视图(从左侧滑出菜单)。然而,我似乎无法实现我想要的效果。我希望视图向右延伸超过父视图的边界,就像这样:

What I want

但实际上正在发生的是这样的:

Actual Result

视图会自动重置以保持在父容器范围内。即使我设置了绝对像素值(通过查看显示器的宽度,或者随机设置一个大值)。
我需要这样做的原因详见此SO问题关于动画完成后的视图实际位置: TranslateAnimated ImageView not clickable after animation [Android]
有什么想法吗?谢谢!

这与此相关吗?https://dev59.com/qnE85IYBdhLWcg3w436o - Dalmas
它帮了我,是的...将其发布为答案,我会接受它 :-) - Joel Martinez
2个回答

3
所以,这里有一个相关问题related question。它解释了如何将视图移出屏幕。

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类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接