我是Android编程和使用最新版Android Studio的新手。
我有一个LinearLayout
,想要以编程方式放置20个按钮。
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
for (int i = 0; i<20;i++)
{
Button btn = new Button(this);
btn.setText("Button" + (i + 1));
btn.setTag(i + 1);
btn.setLayoutParams (new LinearLayout.LayoutParams(200, LinearLayout.LayoutParams.WRAP_CONTENT,1));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), view.getTag().toString(), Toast.LENGTH_SHORT).show();
}
});
linearLayout.addView(btn);
}
我正在使用此代码。它在另一个下面添加了20个按钮。但是我想把它们放在这样:
Button1 Button2
Button3 Button4
...
Button19 Button20
是否可以使用LinearLayout
或者我应该使用不同类型的布局?
答案 0 :(得分:3)
只使用一个LinearLayout就无法做到这一点。
要实现这一目标,您必须使用:
TableLayout,GridView或(与这两者相比不理想)2水平LinearLayout内的垂直LinearLayout
答案 1 :(得分:2)
使用单个LinearLayout是不可能的。您可以使用嵌套布局,因此在您的示例中,Button1和Button2处于一个水平布局中,然后该布局将添加到更大的垂直布局中。
您还可以使用GridLayout - 它旨在轻松处理您的案例。