我无法让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
添加到布局填充布局而其他人没有出现在那里,任何想法我在这里做错了什么?
答案 0 :(得分:2)
将layout_weight添加到布局参数
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f);
答案 1 :(得分:0)
要使视图拉伸以填充LinearLayout,您必须确保将宽度设置为0并将权重设置为1.
这将使他们平分。它基本上告诉系统推迟设置宽度直到测量其父级。然后上来,让孩子们填写他们所拥有的任何空间。