버튼이 동적으로 추가되는 레이아웃을 만들고 싶습니다. 여기에서 추가 할 버튼의 수는 런타임에 결정됩니다. 즉, 버튼을 추가하고 싶은 서버에서 반환하는 버튼 수에 따라 결정됩니다.
for (int k = 1; k < 100; k++) {
TableRow row = new TableRow(this);
innerloop:
for (int l = 1; l <4; l++) {
btn = new Button(this);
TableRow.LayoutParams tr= new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
layout.setWeightSum(12.0f);
tr.weight=0;
btn.setLayoutParams(tr);
btn.setTextColor(a);
// btn.setLayoutParams(params);
btn.setHeight(150);
// Log.v("y", "how much"+size.x+" "+size.y);
btn.setWidth(150);
btn.setId(idb);
btn.setOnClickListener(this);
btn.setText("Button " + idb);
// Log.v("idb", "created"+" "+btn.getId());
row.addView(btn);
}
}
int flag=4;//some value returened by server.
TableLayout tl = (TableLayout)findViewById(R.Id.tl);
Button btn[] = new Button[flag];
TableRow row[] = new TableRow[flag];
TableRow.LayoutParams tr= new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
for(int i = 0; i<flag;i++)
{
btn[i]= new Button(this);
row[i]= new TableRow(this);
row[i].setLayoutParams(tr);
btn[i].setTextColor(Color.RED);
btn[i].setHeight(150);
btn[i].setWidth(250);
btn[i].setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//do something here.
}
});
btn[i].setText("this is Button " + flag);
row[i].addView(btn[i]);
tl.addView(row[i]);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다