0

画面の上半分をグラフにして、下半分をリストビューにしたいです。両方の部分が画面の半分を占める必要があります。

私が今持っているセットアップでは、リストビューに10個以上のアイテムがある場合にのみ機能します。少ない場合、リストビューは画面の半分以下しか占有しません。リストに項目が 1 つある場合は、1 つのリスト項目の高さよりもさらに小さくなります。

ANDROIDのソリューションに基づいて: 画面を 2 つのリストビューで 2 つの等しい部分に分割します。これは私が今持っているものです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
        >

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="0.5"
            android:id="@+id/graph_container"
            android:orientation="vertical">

    </LinearLayout>

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="0.5"
            android:orientation="vertical">

        <ListView
                android:id="@android:id/list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:drawSelectorOnTop="false"/>
    </LinearLayout>

 </LinearLayout>

グラフを動的に追加します。

((LinearLayout) findViewById(R.id.graph_container))
            .addView(chart, 0, 
                new  LinearLayout.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT, 
                    ViewGroup.LayoutParams.MATCH_PARENT));

誰も私がこれを行う方法を知っていますか?

アップデート

したがって、重要な部分は、layout_height を math_parent に変更することでした。リストビューの親の線形レイアウトを削除することはオプションでしたが、間違いなくきれいになりました。

4

4 に答える 4

1

親 LinearLayout の android:weightSum="1" および android:layout_height="match_parent" を設定すると機能するはずです。

于 2013-04-15T19:37:27.117 に答える
1

最初の LinearLayout の高さをmatch_parent

于 2013-04-15T19:36:43.910 に答える