0

ここに画像の説明を入力

番号ボタンをこんな風に置きたい。これは私のコードです:

LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

        LinearLayout layout2 = new LinearLayout(this);
        layout2.setOrientation(LinearLayout.HORIZONTAL);

        TextView titleView = new TextView(this);
        titleView.setText("Hello World!");
        layout.addView(titleView);

        android.widget.LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT, 1);
        android.widget.TableLayout.LayoutParams params = new TableLayout.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.FILL_PARENT, 1);

        Button btnConnect = new Button(this);
        btnConnect.setText("Connect");
        btnConnect.setLayoutParams(param);
        layout2.addView(btnConnect);

        Button btnDisconnect = new Button(this);
        btnDisconnect.setText("Disconnect");
        layout2.addView(btnDisconnect);
        btnDisconnect.setLayoutParams(param);


        layout.addView(layout2);

        TableLayout tblLayout = new TableLayout(this);
        tblLayout.setOrientation(TableLayout.HORIZONTAL);
        TableRow tblrow = null;



        for (int i = 1; i <= 9; i++) {
            if (i % 3 == 1) {
                tblrow = new TableRow(this);
                tblLayout.addView(tblrow);

            }

            Button b = new Button(this);
            b.setText("" + i);
            tblrow.addView(b);
        }




        TableRow tr = new TableRow(this);
        Button btnZero = new Button(this);
        btnZero.setText("0");
        Button btnHash = new Button(this);
        btnHash.setText("#");
        Button btnStar = new Button(this);
        btnStar.setText("*");
        tr.addView(btnZero);
        tr.addView(btnHash);
        tr.addView(btnStar);
        tblLayout.addView(tr);




        layout.addView(tblLayout);
        setContentView(layout);

これは次のとおりです。

ここに画像の説明を入力

私のコラムをそのようにするために。私はこのコードを使用しました:

android.widget.TableLayout.LayoutParams params = new TableLayout.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.FILL_PARENT, 1);
tblLayout.setLayoutParams(param);

しかし、変化はありません。私は何をする必要がありますか?そのLayoutparamsはそれを行うのに十分ではありませんか?

4

1 に答える 1

2

layoutlayout2tblLayout、 each tblRow、およびtrtoの幅を設定する必要がありMATCH_PARENT、各 Button には等しい が必要layout_weightです。

于 2013-03-05T22:18:34.127 に答える