0

現在、私は小さなAndroidプロジェクトに取り組んでいます。Java でユーザー インターフェイスを作成する必要があるため、レイアウトに関する問題が発生しました。最初に水平方向の LinearLayout と TableLayout の 2 つのレイアウトがあります。幅 MATCH PARENT と高さ WRAP CONTENT を両方に設定しましたが、最初のレイアウトが他のレイアウトを画面から押し出し、最初のレイアウトで他のレイアウトを彼の下に押し出します。

コードは次のようになります。

    LinearLayout mainLayout = new LinearLayout(this);

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

    LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
    LayoutParams.WRAP_CONTENT); 
    hLayout.setLayoutParams(params);

    mainLayout.addView(hLayout);

    TableLayout table = new TableLayout(this);

    params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

    table.setLayoutParams(params);

    mainLayout.addView(table);
    setContentView(mainLayout);
4

1 に答える 1

1

何にも追加していないように見えるhLayoutので、画面から押し出されることはありませんが、コンテンツビューに追加されることはありません。次のようなものを試してください

mainLayout.addView(table);
mainLayout.addView(hLayout);
setContentView(mainLayout);

また、幅はmatch_parentLinearLayoutあり、デフォルトorientationは水平であるためorientation、 のmainLayoutを垂直に変更するか、 を に変更widthする必要がありますwrap_content

そして、プログラムでそれを行っている理由はありますか? layout通常、xml でを作成する 方がはるかに簡単です。

于 2013-08-15T23:05:32.083 に答える