1


我正在动态创建 Framelayout。
我动态设置布局参数如下:

   float  weights[] = {80,20} <br>
   FrameLayout flayout = new FrameLayout(context); 
   LayoutParams  lp = new LinearLayout.LayoutParams
                         (LayoutParams.MATCH_PARENT,0,weights[i]; 
   flayout.setLayoutParams(lp);


这里的问题是我试图在 LayoutParams 中将 height 参数设置为 0,但它仍然采用 match_parent 并以这样的方式显示,即第一个 framelayout 占据屏幕高度的 20%(实际上应该是 80%),第二个 Framelayout 为 80%这反过来发生。
谁能帮我解决这个问题。


提前致谢,

4

2 回答 2

0

试试这个代码。

  FrameLayout flayout = new FrameLayout(contex); 
  LayoutParams  lp = (LayoutParams) flayout.getLayoutParams();
  lp.height = 0;
  lp.width = LayoutParams.MATCH_PARENT;
  flayout.setLayoutParams(lp);
于 2012-12-04T19:02:19.433 回答
0

我自己找到了解决方案。包含这 2 个框架布局的 viewGroup(LinearLayout) 的高度应设置为 match_parent。以前它设置为 wrap_Content 这是不正确的。

于 2012-12-04T18:20:50.567 回答