传递程序生成的按钮的重复属性

时间:2019-05-02 19:19:55

标签: java android button

我正在使用多达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);
    }

1 个答案:

答案 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); } 函数中。