在我的程序中,以编程方式创建了超过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”?
答案 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的语法是否完全正确,但我确定你会修复它以防万一。