2

私のレイアウトでは、同じ行に 3 つのボタンがあり、左、中央、右に 1 つずつ配置されています。ボタンの下にラベルとして機能する TextView もありますが、それらもそれぞれ左、中央、右に配置されています。代わりに、ボタンの下の中央に配置し、互いに同じ行に配置したいのですが、座標を明示的に設定しないとこれを行う方法がわかりません。これにより、一部の電話で壊れます。さまざまなウェイトとレイアウト オプションを設定してみましたが、思うように動作しません。RelativeLayout でこれを行う方法はありますか? または多分それは不可能です。最後に、同じ行にさらに 3 つの TextView を配置し、下部に 1 つのボタンを配置しました。以下のように配置したいと思います。

http://imgur.com/vYuqk

前もって感謝します。

4

2 に答える 2

0

RelativeLayoutを使用して、ある要素を別の要素の中央に配置することはできません。3つのRelativeLayouts(各列に1つ)を使用して水平LinearLayoutを試すことができます。下のボタンを取得するために、すべてを垂直のLinearLayoutに含めることができます。

TableLayoutまたはGridLayoutも可能です。

于 2012-10-27T04:01:14.507 に答える
0

人々が示唆したように、 で aViewを別の下Viewに中央揃えする方法はありませんRelativeLayoutTextView幅が幅以上である必要がないことを確認できれば、このハックを使用できますButton。解決策は次のとおりです。TextView左端と右端をButton上に揃えます。次に、内部のテキストが中央に配置されるように、 TextViewtoの重力を設定します。centerTextView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="130dp"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_centerHorizontal="true"
        android:text="Button2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button2"
        android:layout_alignBottom="@+id/button2"
        android:layout_alignParentRight="true"
        android:text="Button3" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button1"
        android:layout_alignRight="@id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button2"
        android:layout_alignRight="@id/button2"
        android:layout_below="@+id/button2"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt2" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button3"
        android:layout_alignRight="@id/button3"
        android:layout_below="@+id/button3"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt3" />

</RelativeLayout>
于 2012-10-27T04:29:52.673 に答える