如何添加其他参数以编程方式创建按钮?

时间:2013-07-02 15:04:25

标签: java android

在我的程序中,以编程方式创建了超过2000个按钮。它们看起来像这样:

//Parameters of buttons
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

//Create a button based on...
if (bla-bla)
{   
Button ammian_martsellin_1=new Button(this); ammian_martsellin_1.setText(R.string.ammian_martsellin_1); llPreViewList.addView(ammian_martsellin_1, lParams);
Button ammian_martsellin_2=new Button(this); ammian_martsellin_2.setText(R.string.ammian_martsellin_2); llPreViewList.addView(ammian_martsellin_2, lParams);
}
//And a lot of these groups of buttons.

如何为这些按钮添加其他参数,例如重力和文字大小,如“lParams”?

4 个答案:

答案 0 :(得分:2)

您可以在http://developer.android.com/reference/android/widget/Button.html

查找方法
ammian_martsellin_1.setGravity(int)
ammian_martsellin_1.setTextSize(int,float)

答案 1 :(得分:0)

您应该能够使用setGravity来设置重力。尝试调用ammian_martsellin_1.setGravity(GRAVITY_VALUE);

答案 2 :(得分:0)

LinearLayout.LayoutParams主要是只读的,原因是,它主要是从从XML资源获得的AttributeSet实现创建的。

您必须在所有视图对象上调用setGravity()

答案 3 :(得分:0)

你可以试试这个:

for(int i=0;i<ViewGroup.getChildCount();i++){
    if(ViewGroup.getChildAt(i).instanceOf(Button)){
//Do stuff
    }
}

我不确定instanceOf的语法是否完全正确,但我确定你会修复它以防万一。