我正在尝试在 (Gridview/LinearLayout/TableLayout) 中添加动态创建的按钮,但我不知道要使用它们中的哪一个。 每个按钮都有不同的宽度。这是我假装做的一个例子:
Actor :
[Button: Richard Gere] [Button: Bla bla bla bla] [Button: Secondary actor Bob]
[Button: Ricardo Montoya]
类型:
[Button: Drama] [Button: Comedia]
电影院:
[Button: Cinema Paradiso] [Button: Cinema 2] [Button: Cinema 3]
[Button: Cinema 4] .... [Button: Cinema N]
我如何动态分发它们? 提前谢谢你。
最佳答案
如果您想以编程方式添加它们,您可以在垂直线性布局中使用水平线性布局来保留按钮。
这是一个示例代码:
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;
}
关于android - 如何将数组按钮动态分布到布局中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251606/