【发布时间】:2016-01-23 17:01:10
【问题描述】:
我花了几个小时试图做到这一点,但最后我放弃了。
我有一个线性布局。在它里面我有另一个 LinearLayout,它最初是隐藏的。当某些情况发生时,我需要显示隐藏的布局并且包含布局扩展其高度以显示显示的布局。
我可以检测到布局已显示,但是包含布局未展开。问题是包含布局之后是另一个布局,我需要向下移动以便可以看到新布局。
我终于做到了:
sublay.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
layout.setLayoutParams(lp);
layout.requestLayout();
当然,那没有用。我该怎么做?
【问题讨论】:
-
是的......它没有工作......虽然 layout.getLayoutParams().height 最初是-1,但这很奇怪
-
您最初是否在要添加可见性 = false 的 xml 设计中添加了 height 和 width 属性?
-
它显示-1表示您没有在xml中添加高度和宽度
-
我以编程方式创建了容器布局,而不是通过 XML,我做到了: final LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);为它
标签: android android-layout android-layoutparams