android - 如何将数组按钮动态分布到布局中

标签 android

我正在尝试在 (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/

相关文章:

java - GetByteArrayElements 何时返回 null?

java - 来自 Firebase 的 ConcurrentModificationException

android - 我如何以编程方式启用和禁用 GPS

android - Flutter C++ 内存分配导致光栅线程卡顿 - Android NDK Dart FFI

android - HERE map api android 集成

android - 警告 : libcryptopp. so: is missing DT_SONAME 将使用 basename 作为替换

Android:以编程方式切断应用程序的互联网连接

Android Studio 布局 : Trying to make button 50% width and 50% height,,中间有按钮

javascript - 从 SQlite 中提取 Lat Long 并显示在 webview 上

android - 工具栏上的文本背景问题