在两个硬编码项目之间设置可调整的listView

时间:2014-01-28 09:51:52

标签: android android-layout listview android-listview

我想在两个硬编码项目之间设置列表视图。我不能在listView中将高度值留空,导致它消失。我尝试使用wrap / fill ..但所有这些使我的listView填充整个布局。这是我的代码:

<?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="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<ListView
    android:id="@+id/choose_list_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/relativeLayout1" >
</ListView>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="@drawable/buton_style" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="90dp" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/addToBasketName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Produkty:"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/choose_produkty"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Do zapłaty:"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/choose_do_zaplaty"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </LinearLayout>
    </LinearLayout>

    <Button
        android:id="@+id/addToBasket"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Do kasy" />
</RelativeLayout>

你会如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

默认情况下,您的所有观看次数都会放在RelativeLayout的左上角。因此,您通常希望将layout_belowlayout_top添加到您的组件中。

有关RelativeLayout的更详细说明,请参阅this

答案 1 :(得分:0)

试试这个

<ListView
  android:id="@+id/choose_list_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_above="@+id/relativeLayout1"
  android:layout_below="@+id/textView1"  >

答案 2 :(得分:0)

使用LinearLayout作为最外面的容器,并确定ListView

layout_height="0px
layout_weight="1"

答案 3 :(得分:0)

// try this way
<?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:padding="5dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <ListView
        android:id="@+id/choose_list_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="5dp"
        android:layout_weight="1">
    </ListView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp">

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

                <TextView
                    android:id="@+id/addToBasketName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Produkty:"
                    android:textAppearance="?android:attr/textAppearanceMedium" />

                <TextView
                    android:id="@+id/choose_produkty"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Medium Text"
                    android:textAppearance="?android:attr/textAppearanceMedium" />
            </LinearLayout>

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

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Do zapłaty:"
                    android:textAppearance="?android:attr/textAppearanceMedium" />

                <TextView
                    android:id="@+id/choose_do_zaplaty"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Medium Text"
                    android:textAppearance="?android:attr/textAppearanceMedium" />
            </LinearLayout>
        </LinearLayout>
        <Button
            android:id="@+id/addToBasket"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Do kasy" />
    </LinearLayout>
</LinearLayout>