0

2 つの内部レイアウトを含むメイン レイアウトがあります。含まれているレイアウトの幅を match_parent に指定していますが、親の幅全体を占めていません。

たとえば、3 つの左ボタンと 3 つの右ボタンのように、それぞれの内側の LinearLayout により多くのコンポーネントを含めることができます。以下は私のコードの簡単な例です

以下の例を参照してください: main_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="5dp"
    android:baselineAligned="false"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.95" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_weight="0.8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp" >

            <include layout="@layout/child_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_weight="0.2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp" >

            <include layout="@layout/child_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </TableRow>
    </TableLayout>

    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:layout_weight="0.05"
         android:gravity="center"
         android:orientation="vertical">  

        <Button
           android:layout_width="80dp"
           android:layout_height="40dp"
           android:textSize="14sp"
           android:textStyle="bold"
           android:text="Bottom" />
    </LinearLayout>

</LinearLayout>

child_layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/leftLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:orientation="vertical" >

        <Button
            android:layout_width="80dp"
            android:layout_height="40dp"
            android:textSize="14sp"
            android:textStyle="bold"
            android:text="Left" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/rightLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:orientation="vertical" >

       <Button
           android:layout_width="80dp"
           android:layout_height="40dp"
           android:textSize="14sp"
           android:textStyle="bold"
           android:text="Right" />
    </LinearLayout>

</RelativeLayout>

画像では左右のボタンが重なっていることに注意してください。ここに画像の説明を入力. 左右のボタンが左右に表示されるように、含まれているレイアウトを展開して親の幅全体を埋めるにはどうすればよいですか。ありがとうございました。

4

2 に答える 2

0

いくつかの LinearLayouts と RelativeLayout を取り除き、代わりにこれを行うこともできます:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
       android:layout_width="80dp"
       android:layout_height="40dp"
       android:textSize="14sp"
       android:textStyle="bold"
       android:text="Left" />

    <LinearLayout
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:orientation="vertical" />

    <Button
       android:layout_width="80dp"
       android:layout_height="40dp"
       android:textSize="14sp"
       android:textStyle="bold"
       android:text="Right" />
</LinearLayout>
于 2013-04-13T16:44:43.767 に答える