2

我不能让我并排EditTexts适应共享相同的空间。LinearLayout

这是执行此操作的代码:

LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textFieldsLayout = (LinearLayout) findViewById(R.id.LinearLayout2);

        for(int i=1; i <= 8; i++){

            final EditText ed = new EditText(this);

            ed.setText("" + i);

            ed.setInputType(2);

            ed.setLayoutParams(lparams);

            textFieldsLayout.addView(ed);
        }   
    }

这段代码设法添加EditText到我的布局中,但它们并排出现,并且末尾有空白空间LinearLayout,当我将参数更改为 时WRAP_CONTENT,仅首先EditText添加到布局中填充布局,而其他代码不会出现在那里,知道什么我在这里做错了吗?

4

2 回答 2

2

将 layout_weight 添加到布局参数

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams
                       (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f);
于 2012-08-01T16:30:07.727 回答
0

要使您的视图拉伸以填充 LinearLayout,您必须确保将宽度设置为 0 并将权重设置为 1。

这将使他们平分秋色。它基本上是在告诉系统推迟设置宽度,直到测量其父级。然后上来,让孩子们填满他们拥有的任何空间。

于 2012-08-01T16:26:48.433 回答