我对Android开发者有疑问。我有一个带按钮的布局(以编程方式开发,而不是用xml开发),我希望按钮能够立即填充整个布局,但它目前没有,我不知道为什么,我认为我已经正确设置了所有内容按钮的重力和布局参数,但这就是我所拥有的。如果你能指出我正确的方向,我会非常感激!感谢。
LinearLayout bottom = new LinearLayout(this);
bottom.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.FILL;
bottom.setLayoutParams(params);
bottom.setBackgroundColor(Color.BLUE);
Button eqbttn = new Button(this);
eqbttn.setText("=");
eqbttn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
}
});
bottom.addView(eqbttn);
答案 0 :(得分:0)
您仅将MATCH_PARENT
尺寸应用于LinearLayout
。您也需要将它应用于按钮。
Button eqbttn = new Button(this);
LinearLayout.LayoutParams eqparams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
eqbttn.setLayoutParams(eqbttn);
eqbttn.setText("=");
eqbttn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
}
});
bottom.addView(eqbttn);
这会强制按钮垂直和水平填充LAYOUT 。如果您需要布局本身占据整个屏幕,请将其WRAP_CONTENT
更改为MATCH_PARENT
。
此外,在这种情况下,Gravity.FILL
上不需要LinearLayout
布局参数。