我正在使用多达30个“ for”循环生成许多按钮,并且几乎所有这些代码都是相同的。 我想知道是否有可能将我的“ button.set”属性获取到“ for”循环之外,并将其也传递给其他循环。
for (int i = 1; i < 4; i++) {
Button button = new Button(this);
button.setId(i);
button.setLayoutParams(params);
button.setTextColor(Color.parseColor("#ffffff"));
button.setAllCaps(false);
button.setTextScaleX(0.92f);
button.setPadding(20, 20, 20, 20);
button.setBackgroundColor(Color.parseColor("#70553B"));
button.getBackground().setAlpha(20);
button.setOnClickListener(this);
button.setMaxLines(1);
button.setGravity(Gravity.CENTER);
buttonHolder[i] = button;
side_a.addView(button);
}
答案 0 :(得分:0)
您可以创建一个接受Button并将其所有设置应用到其中的函数:
$ ./fbtest
gid: 0
type: solo cups
weight: 12
如果您还希望设置id和其他取决于上下文的值,则可以将它们作为参数添加到 public void setButtonParams(Button button){
button.setTextColor(Color.parseColor("#ffffff"));
button.setAllCaps(false);
button.setTextScaleX(0.92f);
button.setPadding(20, 20, 20, 20);
button.setBackgroundColor(Color.parseColor("#70553B"));
button.getBackground().setAlpha(20);
button.setMaxLines(1);
button.setGravity(Gravity.CENTER);
}
for (int i = 1; i < 4; i++) {
Button button = new Button(this);
button.setId(i);
button.setLayoutParams(params);
setButtonParams(button);
button.setOnClickListener(this);
buttonHolder[i] = button;
side_a.addView(button);
}
函数中。