如何设置视图权重?

时间:2013-05-22 19:20:02

标签: android android-linearlayout android-layout-weight

我正在尝试在LinearLayout中获取视图以填充宽度。我尝试使用LayoutParams设置它,但它给了我一个错误:

我的代码:

EditText et = new EditText(v.getContext());
                    et.setHint("asset ");
                    et.setTextSize(12);
                    et.setLayoutParams(new LayoutParams(
                            LayoutParams.WRAP_CONTENT,
                            LayoutParams.WRAP_CONTENT, 0.25f));
                    et.setPadding(0, 15, 0, 10);

错误:

  

构造函数ActionBar.LayoutParams(int,int,float)未定义

3 个答案:

答案 0 :(得分:6)

正是错误所说的,没有ActionBarLayoutParams构造函数需要浮点数。你需要available graivty constants中的一个用于引力

但看起来你输入了错误的LayoutParams。如果这是针对LinearLayout而非ActionBar,那么您需要导入LinearLayout.LayoutParams

import android.widget.LinearLayout.LayoutParams

ActionBar.LayoutParams

LinearLayout.LayoutParams

答案 1 :(得分:5)

更改导入以使用LinearLayout.LayoutParams而不是ActionBar.LayoutParams

或更改代码

et.setLayoutParams(new LayoutParams(
     LayoutParams.WRAP_CONTENT,
     LayoutParams.WRAP_CONTENT, 0.25f));

et.setLayoutParams(new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.WRAP_CONTENT,
     LinearLayout.LayoutParams.WRAP_CONTENT, 0.25f));

答案 2 :(得分:1)

由于您使用的是LinearLayout,我猜您应该致电LinearLayout.LayoutParams