0

私のアプリには、4つのボタンが上下に並んだ画面があります。これらのボタンのテキストは、ユーザーが入力した内容によって異なるため、どのボタンが最大かわかりません。

ボタンの左側がすべて最も幅の広いボタンに位置合わせされ、ボタンの右側がすべて最も幅の広いボタンの右側に位置合わせされるように、それらを位置合わせしたいと思います。

私の問題を解決するために、私はこれを書きました:

    int biggestWidth=buttonA.getWidth();

    if(biggestWidth<buttonB.getWidth()){//if the width of button b is bigger than the width of button a

        biggestWidth = buttonB.getWidth();

    } if(biggestWidth<buttonC.getWidth()){

        biggestWidth = buttonC.getWidth();

    } if (biggestWidth<buttonD.getWidth()){

        biggestWidth= buttonD.getWidth();
    }
buttonA.setWidth(biggestWidth);
    buttonB.setWidth(biggestWidth);//sets all the buttons to the width of the biggest one
    buttonC.setWidth(biggestWidth);
    buttonD.setWidth(biggestWidth);

ただし、ボタンの端はすべて、テキストが最も多いボタンの端ではなく、最初のボタンの端に揃えられているため、これは機能しません。誰かが私がどこで間違っているのか知っている/知っていると思いますか?

4

2 に答える 2

2

このレイアウトパターンを試してください:

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="show" />

        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="show123" />

        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="show12345686" />
</LinearLayout>

ありがとう。

于 2013-01-22T19:41:29.510 に答える
0

ボタン呼び出しの重みには重みプロパティがあります。それを利用して、その行のすべてのボタンに同じ重み (1 など) を設定します。

于 2013-01-22T19:20:29.823 に答える