0

2 つの要素の間に残されたすべてのスペースを取るように Android 相対レイアウトに指示する方法。そのスペースがいくらであっても構いません。

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



<TableLayout android:layout_below="@id/title_container"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id = "@+id/usb_config_title">

    <TableRow android:layout_gravity="center_horizontal">
        <TextView android:layout_width="398dp"
            android:layout_height="4px"
            android:text="     "/>
        <TextView android:layout_width="4px"
            android:layout_height="4px"
            android:text="     "
            android:background="@color/title_background"/>
        <TextView android:layout_width="398dp"
            android:layout_height="4px"
            android:text="     "/>
    </TableRow>


    <TableRow android:layout_gravity="center_horizontal">
        <TextView android:text="@string/usb_stick"
            android:layout_width="398dp" 

            android:gravity="center"
            android:layout_height="wrap_content"
            android:textSize="22dp"/>
        <TextView android:layout_width="4px"
            android:layout_height="fill_parent"
            android:text="     "
            android:background="@color/title_background"/>
        <TextView android:text = "@string/usb_internal_memory"

        android:layout_width="398dp" 
            android:gravity="center"
                android:layout_height="wrap_content"
            android:textSize="22dp"/>
    </TableRow>

    <TableRow android:layout_gravity="center_horizontal">
        <TextView android:layout_width="398dp"
            android:layout_height="5px"
            android:text="     "/>
        <TextView android:layout_width="4px"
            android:layout_height="5px"
            android:text="     "
            android:background="@color/title_background"/>
        <TextView android:layout_width="398dp"
            android:layout_height="5px"
            android:text="     "/>
    </TableRow>
</TableLayout>


<LinearLayout android:orientation="horizontal"
            android:layout_below="@id/usb_config_title"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <ListView
        android:id="@+id/list3"
        android:layout_width="398px"
        android:layout_height="wrap_content"

        android:drawSelectorOnTop="false"
        android:scrollbarAlwaysDrawVerticalTrack="true"
    />

    <TextView android:layout_width="4px"
        android:layout_height="fill_parent"
        android:text="     "
        android:background="@color/title_background"/>
    <ListView
        android:id="@+id/list4"
        android:layout_width="398px"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="false"
        android:scrollbarAlwaysDrawVerticalTrack="true"
    />
</LinearLayout>
<include layout="@layout/buttons_bottom_with_relative"/>      
</RelativeLayout>

だから私はid/list3がボタンバーまで続く必要があります。現時点では、id/list3 はボタン バーで覆われています。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="bottom"
            android:layout_weight="1"
    android:id="@+id/controls" 
    android:orientation="horizontal"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:baselineAligned="false"
    style="@android:style/ButtonBar"
    android:background="@drawable/bottom_layout_selector"
>
    <Button 
        android:layout_width="100px" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/startButton"
        android:text="@string/start" 
        android:visibility="invisible"
    />

    <Button 
        android:layout_width="100px" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/stopButton"
        android:text="@string/stop" 
        android:visibility="invisible"
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/nextButton"
        android:text="@string/next"
        android:visibility="invisible"
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/resetStatistics"
        android:text="@string/reset_statistics"
        android:visibility="invisible" 
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/histogramSettings"
        android:text="@string/histogram_settings"
        android:visibility="invisible" 
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/saveButton"
        android:text="@string/save"
        android:visibility="invisible"
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/loadConfig"
        android:text="@string/load_config"
        android:visibility="invisible" 
    />

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:id="@+id/saveConfig"
        android:text="@string/save_config"
        android:visibility="invisible" 
    />

</LinearLayout>
4

2 に答える 2

2

これをlist3を含む線形レイアウトに追加してみましたか

    android:layout_below="@id/usb_config_title"
    android:layout_above="@id/controls"

そのため、線形レイアウトはこれら 2 つの中間に配置されます。

相対レイアウトに weight 属性を使用できないと思います。1 つのレイアウトを画面の上部に配置し、1 つのレイアウトを画面の下部に配置する場合、中央のレイアウトを他の 2 つのレイアウトの上下に配置すると、スペースを埋める必要があります。

于 2012-09-18T09:20:59.447 に答える
0

おそらく必要なのは、Relative Layout の layout_weight プロパティを設定し、すべてを LinearLayout 内に配置することです。これまでに作成した XML を見せていただければ、確実に確認できます。

于 2012-09-18T09:09:09.900 に答える