将按钮放在LinearLayout Vertical和Horizo​​ntal中

时间:2014-04-30 12:16:40

标签: android android-layout android-studio

我是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或者我应该使用不同类型的布局?

2 个答案:

答案 0 :(得分:3)

只使用一个LinearLayout就无法做到这一点。

要实现这一目标,您必须使用:

TableLayoutGridView或(与这两者相比不理想)2水平LinearLayout内的垂直LinearLayout

答案 1 :(得分:2)

使用单个LinearLayout是不可能的。您可以使用嵌套布局,因此在您的示例中,Button1和Button2处于一个水平布局中,然后该布局将添加到更大的垂直布局中。

您还可以使用GridLayout - 它旨在轻松处理您的案例。