我有以下代码尝试将linearLayout的权重设置为0.7,在查看文档和在线的一些示例后,它说它需要3个参数,但在我的代码中它不会让我:
LinearLayout linear = new LinearLayout(this);
linear.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
所以这里它设置了高度和宽度,但它在文档中说的最后一个参数是重量,它不会让我把它放在那里。
答案 0 :(得分:2)
尝试使用linearlayout的layoutparams:
linear.setLayoutParams(
new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT,
1)
);
作为一个概念验证:这是有效的。检查导入并将其与您自己的进行比较:)
file:Test.java
package com.huiges.stackOverFlow.examples
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
public class Test extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linear = new LinearLayout(this);
linear.setLayoutParams(
new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT,
1)
);
}
}
答案 1 :(得分:0)
使用LinearLayout.LayoutParams
LinearLayout linear = new LinearLayout(this);
linear.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,1));
答案 2 :(得分:0)
最后一个参数采用浮点数。 0.7
是双精度型,而是使用0.7f
代替浮点数。
linear.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT,
0.7f));