更改方向后不显示列表视图

时间:2014-10-29 10:08:30

标签: android listview android-listview

我在我的xml文件中有listview。在listview下面我有其他布局。如果我设置android:layout_weight =" 1"在listview中,然后在更改方向后,它不会滚动,只有listview下面的布局是可见的。如果我删除layout_weight =" 1"从listview然后不改变方向也listview不可见。这是我的xml:

<?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="match_parent"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/applogo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@layout/header_gradient" >

    <TextView
        android:id="@+id/beforelogo"
        android:layout_width="wrap_content"
        android:layout_height="46dp"
        android:layout_alignParentLeft="true" />

    <TextView
        android:id="@+id/logo"
        android:layout_width="141dp"
        android:layout_height="46dp"
        android:layout_centerInParent="true"
        android:background="@drawable/logo" />

    <ImageButton
        android:id="@+id/afterlogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/beforelogo"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/logout" />
</RelativeLayout>

<LinearLayout
    android:id="@+id/header"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:paddingTop="15dip" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.45"
        android:text="CASH BILL"
        android:textSize="18sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/date"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.45"
        android:enabled="false"
        android:inputType="datetime" />

    <ImageView
        android:id="@+id/calendar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="0.1"
        android:src="@drawable/calendar" />
</LinearLayout>

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:orientation="vertical">

    <ListView
        android:id="@+id/cash_bill_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dp"
        android:layout_weight="1" />


    <RelativeLayout
        android:id="@+id/other_charges_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/cash_bill_list"
        android:padding="2dp" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />

        <TextView
            android:id="@+id/other_charges_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Other Charges"
            android:textSize="@dimen/rating" />

        <!-- day open -->

        <TextView
            android:id="@+id/other_charges"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/other_charges_txt"
            android:gravity="center"
            android:padding="5dp"
            android:text=""
            android:textSize="@dimen/rating" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/security_tax_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/other_charges_layout"
        android:padding="2dp" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />

        <TextView
            android:id="@+id/security_tax_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Security Tr. T"
            android:textSize="@dimen/rating" />

        <!-- day open -->

        <TextView
            android:id="@+id/security_tax"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/security_tax_txt"
            android:gravity="center"
            android:padding="5dp"
            android:text=""
            android:textSize="@dimen/rating" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/serice_tax_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/security_tax_layout"
        android:padding="2dp" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />

        <TextView
            android:id="@+id/serice_tax_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Service Tax"
            android:textSize="@dimen/rating" />

        <!-- day open -->

        <TextView
            android:id="@+id/serice_tax"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/serice_tax_txt"
            android:gravity="center"
            android:padding="5dp"
            android:text=""
            android:textSize="@dimen/rating" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/stamp_duty_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/serice_tax_layout"
        android:padding="2dp" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />

        <TextView
            android:id="@+id/stamp_duty_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Stamp Duty"
            android:textSize="@dimen/rating" />

        <!-- day open -->

        <TextView
            android:id="@+id/stamp_duty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/stamp_duty_txt"
            android:gravity="center"
            android:padding="5dp"
            android:text=""
            android:textSize="@dimen/rating" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/due_to_you_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/stamp_duty_layout"
        android:padding="2dp" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />

        <TextView
            android:id="@+id/total_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Total"
            android:textSize="@dimen/rating" />

        <!-- day open -->

        <TextView
            android:id="@+id/total"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/total_txt"
            android:gravity="center"
            android:padding="5dp"
            android:text=""
            android:textSize="@dimen/rating" />
    </RelativeLayout>
</LinearLayout>

我应该怎么做才能看到listview,并且在更改方向后滚动也可用。提前致谢

2 个答案:

答案 0 :(得分:1)

您错过了</LinearLayout>。我不知道这是否能解决问题。通常,如果添加权重属性,则会将其添加到该LinearLayout中的其他元素,以便布局可以正确地对所有元素进行加权。通过仅添加权重属性,其他元素可以默认获得0权重,因此不会显示。

答案 1 :(得分:1)

所以这是我的结果。我认为您应该让列表视图为屏幕的1/2,并且其余元素添加ScrollView

<?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="match_parent"
  android:orientation="vertical">

<!-- HEADER -->

<RelativeLayout
    android:id="@+id/applogo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/RedishColor">

    <TextView
        android:id="@+id/beforelogo"
        android:layout_width="wrap_content"
        android:layout_height="46dp"
        android:layout_alignParentLeft="true" />

    <TextView
        android:id="@+id/logo"
        android:layout_width="141dp"
        android:layout_height="46dp"
        android:layout_centerInParent="true"
        android:background="@color/GreenSeaColor" />

    <ImageButton
        android:id="@+id/afterlogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/beforelogo"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/view_icon" />
</RelativeLayout>

<!-- TOP BAR -->

<LinearLayout
    android:id="@+id/header"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:paddingTop="15dip">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.45"
        android:text="CASH BILL"
        android:textSize="18sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/date"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.45"
        android:enabled="false"
        android:inputType="datetime" />

    <ImageView
        android:id="@+id/calendar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="0.1" />
</LinearLayout>

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray" />

<!-- LISTVIEW -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="5dp">

    <ListView
        android:id="@+id/cash_bill_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dp"
        android:layout_weight="0.1" />

    <!-- BOTTOM PART -->

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.1">

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

            <RelativeLayout
                android:id="@+id/other_charges_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/cash_bill_list"
                android:padding="2dp">

                <View
                    android:layout_width="fill_parent"
                    android:layout_height="1dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:id="@+id/other_charges_txt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:text="Other Charges"
                    android:textSize="20sp" />

                <!-- day open -->

                <TextView
                    android:id="@+id/other_charges"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/other_charges_txt"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text=""
                    android:textSize="20sp" />
            </RelativeLayout>


            <RelativeLayout
                android:id="@+id/security_tax_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/other_charges_layout"
                android:padding="2dp">

                <View
                    android:layout_width="fill_parent"
                    android:layout_height="1dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:id="@+id/security_tax_txt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:text="Security Tr. T"
                    android:textSize="20sp" />

                <!-- day open -->

                <TextView
                    android:id="@+id/security_tax"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/security_tax_txt"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text=""
                    android:textSize="20sp" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/serice_tax_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/security_tax_layout"
                android:padding="2dp">

                <View
                    android:layout_width="fill_parent"
                    android:layout_height="1dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:id="@+id/serice_tax_txt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:text="Service Tax"
                    android:textSize="20sp" />

                <!-- day open -->

                <TextView
                    android:id="@+id/serice_tax"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/serice_tax_txt"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text=""
                    android:textSize="20sp" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/stamp_duty_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/serice_tax_layout"
                android:padding="2dp">

                <View
                    android:layout_width="fill_parent"
                    android:layout_height="1dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:id="@+id/stamp_duty_txt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:text="Stamp Duty"
                    android:textSize="20sp" />

                <!-- day open -->

                <TextView
                    android:id="@+id/stamp_duty"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/stamp_duty_txt"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text=""
                    android:textSize="20sp" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/due_to_you_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/stamp_duty_layout"
                android:padding="2dp">

                <View
                    android:layout_width="fill_parent"
                    android:layout_height="1dp"
                    android:background="@android:color/darker_gray" />

                <TextView
                    android:id="@+id/total_txt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp"
                    android:text="Total"
                    android:textSize="20sp" />

                <!-- day open -->

                <TextView
                    android:id="@+id/total"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/total_txt"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text=""
                    android:textSize="20sp" />
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

结果图片:

VERTICAL

enter image description here

HORZIONTAL

enter image description here