在Android中创建动态按钮,如瓷砖

时间:2012-06-23 04:50:21

标签: android

如何创建这样的动态按钮视图? 这里+添加按钮是静态按钮。其他按钮应该动态创建,如图所示。根据从数据库中检索到的数据,不必创建,并且使用添加按钮可以添加新按钮。

Dynamic Button View

1 个答案:

答案 0 :(得分:1)

在xml文件中有一个方向垂直的线性布局。

在java类文件中将其声明为

ViewGroup lr = (ViewGroup)findViewVyId(R.id.dd)

for(int i = 0; i < x1; i++)
{
     lr1 = new LinearLayout(this);
     lr1.setOrientation(LinearLayout.HOIZONTAL);
     lr.addView(lr1);
     for(int j = 0; j < xx1; j++ )
     {
         if(i==0)
         {
        if(j == 0)
        {
          final View child = getLayoutInflater().inflate(R.layout.nw, null);
          lr.addView(child);
        }
        else
        {
            lr2 = new LinearLayout(this);
            lr2.setOrientation(LinearLayout.VERTICAL);

            for(int k = 0; k<2; k++)
            {
                final View b3 = new Button(this);
                lr2.addView(b3);
            }
            lr.addView(lr2);
        }
      }
      else
      {
        final View b2 = new Button(this);
        lr.addView(b2);
      }
      lr1.setId(main_cnt);
      main_cnt++;
          if(i == 2)
          {
        if(j == 2)
        {
            break;
        }
          }
     }
}

第一个for循环决定了垂直顺序的布局数,第二个for循环决定了水平顺序中线性布局中的按钮数量。 main_cnt用于获取每个按钮的ID

child的xml文件是我放置Add(大按钮)

的地方