按钮以编程方式填充整个布局

时间:2012-09-05 04:21:47

标签: android layout button

我对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);

1 个答案:

答案 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布局参数。