如何在listview中使用android:layout_weight

时间:2012-10-15 10:06:39

标签: android listview

我想根据android:layout_weight设置UI。我有以下代码结构

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="25"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="25"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />
</LinearLayout>

<ListView
    android:id="@+id/relatedContent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="60dp"
    android:layout_weight="50"
    here=""
    problem=""
    android:cacheColorHint="@android:color/transparent"
    android:divider="@drawable/divider"
    android:listSelector="@drawable/listview_selector_color" >
</ListView>

一切都正常,但是当我们设置ListView id然后它会streatch所有布局。所以任何人都可以帮我解决这个问题。谢谢

3 个答案:

答案 0 :(得分:1)

你需要改变你的xml如下:

//alter both LinearLayout as
android:layout_weight="25"
android:layout_height="0dp"

//alter ListView as
android:layout_weight="50"
android:layout_height="0dp"
android:isScrollContainer="false"

答案 1 :(得分:0)

list view放入linear layout并将layout_weight="50"提供给linear layout。然后将listview宽度和高度设为fill parent

同时给出linear_layout layout height="0dp"

答案 2 :(得分:0)

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="25"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="25"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />
</LinearLayout>

<ListView
    android:id="@+id/relatedContent"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_marginBottom="60dp"
    android:layout_weight="50"
    android:cacheColorHint="@android:color/transparent" >
</ListView>