1

(Gridview/LinearLayout/TableLayout) に動的に作成されたボタンを追加しようとしていますが、どれを使用すればよいかわかりません。各ボタンの幅は異なります。これが私がふりをしている例です:

アクター:

[ボタン: リチャード・ギア] [ボタン: ブラ ブラ ブラ ブラ] [ボタン: 副俳優ボブ]
[ボタン: リカルド モントーヤ]

ジャンル:

【ボタン:ドラマ】 【ボタン:コメディ】

シネマ:

【ボタン:シネマパラディソ】【ボタン:シネマ2】【ボタン:シネマ3】
【ボタン:シネマ4】・・・【ボタン:シネマN】

それらを動的に配布するにはどうすればよいですか?前もって感謝します。

4

1 に答える 1

2

それらをプログラムで追加したい場合は、水平線形レイアウトを水平線形レイアウト内で使用して、ボタンを保持できます。

サンプルコードは次のとおりです。

 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;
}
于 2012-11-06T14:11:25.873 に答える