首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态地将数组按钮分配到布局中

如何动态地将数组按钮分配到布局中
EN

Stack Overflow用户
提问于 2012-11-06 12:59:08
回答 1查看 222关注 0票数 1

我试图在一个(Gridview/LinearLayout/TableLayout)中添加动态创建的按钮,我不知道其中的哪些按钮可以使用。每个按钮都有不同的宽度。下面是我假装做的一个例子:

演员:

按钮:理查德·基尔·巴顿:二级演员鲍勃

体裁:

按钮:戏剧

电影院:

按钮:电影院天堂按钮:电影院3.按钮:电影院N

我怎么才能用恐龙来分发它们呢?提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2012-11-06 14:11:25

如果要以编程方式添加它们,可以在vectical中使用水平线性布局来保留按钮。

下面是一个示例代码:

代码语言:javascript
复制
 LinearLayout InitQuiteSomeButtons(Button[] butts,int buttonsPerRow)
{

    LinearLayout vlay = new LinearLayout(this);
    LinearLayout.LayoutParams vParams= new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    vlay.setLayoutParams(vParams);
    vlay.setOrientation(LinearLayout.VERTICAL);
    LinearLayout hLay=new LinearLayout(this);
    LinearLayout.LayoutParams hParams= new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    hLay.setLayoutParams(hParams);
    hLay.setOrientation(LinearLayout.HORIZONTAL);

    for (int i=0;i<butts.length;i++)
    {
        if (i>0 && i%buttonsPerRow==0)
        {
            vlay.addView(hLay);
            hLay = new LinearLayout(this);
            hLay.setLayoutParams(hParams);
            hLay.setOrientation(LinearLayout.HORIZONTAL);
        }
        hLay.addView(butts[i]);

    }
    if (butts.length%buttonsPerRow==0)
    {
        //add the non-filledrow
        vLay.addView(hLay);
    }
    return vlay;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13251606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档