0

しばらくの間、これに苦労しています。さまざまな LinearLayouts で構成されるレイアウト XML があり、個別の重み付けがあります。最終結果は次のようになります。

主な活動画面のイメージ

色は気にしないでください。ブレークポイントを確認するだけです。とにかく、Terminal/Origin などの下の LinearLayout は、カスタム アダプターを使用して設定された ListView です。データは正常に読み込まれますが、listView が LinearLayout から「抜け出し」、ページの大部分を占めます。

ここに画像の説明を入力

(色は気にしないでください。ブレークポイントを確認するだけです..)

すなわち。ビューの上下に流れます。

私のXMLは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<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:orientation="vertical"
tools:ignore="HardcodedText" >

<RelativeLayout
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:background="#FF0000"
    android:gravity="right" >

    <Button
        android:id="@+id/update"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:onClick="getFlightInfo"
        android:text="Refresh" />
</RelativeLayout>

<LinearLayout
    android:id="@+id/table_header"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="0.4"
    android:background="#FFFFFF"
    android:weightSum="1" >

    <TextView
        android:id="@+id/header_cell1"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="@string/cell_1_weight"
        android:gravity="center_vertical"
        android:paddingLeft="5dp"
        android:paddingRight="12dp"
        android:text="@string/table_header_terminal"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/header_cell2"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="@string/cell_2_weight"
        android:gravity="center_vertical"
        android:paddingRight="12dp"
        android:text="@string/table_header_origin"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/header_cell3"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="@string/cell_3_weight"
        android:gravity="center_vertical"
        android:paddingRight="12dp"
        android:text="@string/table_header_flight"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/header_cell4"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="@string/cell_4_weight"
        android:gravity="center_vertical"
        android:paddingRight="12dp"
        android:text="@string/table_header_scheduled"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/header_cell5"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="@string/cell_5_weight"
        android:gravity="center_vertical"
        android:paddingRight="12dp"
        android:text="@string/table_header_status"
        android:textSize="11dp" />
</LinearLayout>

<LinearLayout
    android:id="@+id/table_list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:background="#FFFFFF"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

<LinearLayout
    android:id="@+id/filter"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="#00FF00" />

</LinearLayout>

まぶしい何かが欠けているかもしれませんが、私の人生では、それを見ることはできません。誰でも助けることができますか?

どうもありがとう..

4

4 に答える 4

2

遅いかもしれませんが、誰かを助けることができます。

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

<RelativeLayout 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:orientation="vertical">

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ff0000">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="20dp"
        android:text="Content 1" />

</LinearLayout>


<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="#00ff00">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="20dp"
        android:text="Content 2" />

</LinearLayout>

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/linearLayout2"
    android:layout_below="@id/linearLayout1"
    android:background="#00f0f0"></ListView>

結果: 結果

于 2016-04-16T21:09:25.203 に答える
2

これは、LinearLayout の高さ (リストビューをラップする 1 つ) の "wrap_content" を保持しているためです。

また、リストビューの高さを「fill_parent」にします。

編集 :

この方法を試してください:

...

<ListView
    android:id="@+id/list_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
</ListView>

上の 2 つのレイアウトでは、重みとして 0.2 と 0.4 を使用しますが、下の 2 つのレイアウトでは 3 と 1 を使用します...以前の方法で試してみて、それが役立つかどうかを確認してください。 ) を 0dip にします。

于 2012-07-26T10:38:00.767 に答える
0

わかりました..この投稿を参照した後、修正を思いつきました

  1. ListView の外側の LinearLayout を削除します。不要です。
  2. ListView に「0px」の高さ (Web で見つけたもの) を追加すると、android:weight パラメータに正しく従うようになります。

お役に立てれば。

于 2012-07-26T10:43:13.637 に答える
0
  • の重みを取り除きid/filterます。
  • の重みListViewfill_parent高さを 1 にします。
  • listView の直接の親を削除します。

見逃したもう 1 つのことはweightSum=sum_of all_child_weight、ルートに を設定することです。これで問題は解決するはずです。

于 2012-07-26T10:43:33.200 に答える