我很喜欢eclipse的新东西,我想知道有没有办法让我在java代码中创建一个按钮数组而不是xml文件,然后在布局上定义那里的位置。
答案 0 :(得分:0)
每个Button对象都是一个视图本身。因此,它可以添加到父布局(如LinearLayout)。最简单的方法是IMHO只为你知道不会改变或者使用TableLayout的东西创建XML。然后,添加按钮。
LinearLayout mainLayout = findViewById(R.id.mainLayout);
Button[] btnArray = new Button[3];
for(Button button : btnArray){
button = new Button(/*Required params */);
// button.something , play with text and onclick and positions...
mainLayout.addView(button);
}
这是你想要做的吗?
答案 1 :(得分:0)
LinearLayout linear = (LinearLayout) findViewById(R.id.linear);
for (int i = 1; i <= 20; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
btn = new Button(this);
btn.setId(i);
final int id_ = btn.getId();
btn.setText("button " + id_);
btn.setBackgroundColor(Color.rgb(70, 80, 90));
linear.addView(btn, params);
btn1 = ((Button) findViewById(id_));
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(view.getContext(),
"Button clicked index = " + id_, Toast.LENGTH_SHORT)
.show();
}
});
}