ListView和LinearLayout overLapping

时间:2013-01-04 05:57:30

标签: android android-layout android-widget


我有这样的布局 在顶部我有listView,下面我有LinearLayout(带有单选按钮Add New Addess的那个)。
现在问题是我的listView和linearlayout是重叠的。请帮助我。


enter image description here

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

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

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="63dp"
        android:layout_weight="0.05" >

        <ImageView
            android:id="@+id/menu_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:src="@drawable/hs18_logo" />

        <ImageView
            android:id="@+id/setting_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="17dp"
            android:scaleType="fitCenter"
            android:src="@drawable/menu" />

        <ImageButton
            android:id="@+id/signin_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/setting_icon"
            android:layout_marginRight="20dp"
            android:background="@android:color/transparent"
            android:src="@drawable/signin"
            android:visibility="invisible" />
    </RelativeLayout>

    <TextView
        android:id="@+id/cart_checkout_title"
        android:layout_width="fill_parent"
        android:layout_height="35dp"
        android:background="@color/gray"
        android:gravity="center"
        android:text="Shipping Address"
        android:textStyle="bold" />

    <ListView
        android:id="@+id/shipping_addresses_listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.90" >
    </ListView>

    <include layout="@layout/shipping_add_adresss" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_weight="0.05"
        android:gravity="center" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/buttonshape_white"
            android:text="Cancel"
            android:textColor="@color/red" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:background="@drawable/buttonshape_red"
            android:text="Update Shipping Address"
            android:textColor="@color/white" />
    </LinearLayout>
</LinearLayout></ScrollView>

3 个答案:

答案 0 :(得分:1)

layout_above属性用于listview。

android:layout_above="@+id/linear_layout"

答案 1 :(得分:1)

@MohitSharma永远记住

永远不要在ScrollView中使用ListView

有理由检查:

ListView inside ScrollView is not scrolling on Android

您只需使用其中一个(ListView或ScrollView)即可满足要求。

因此,对于您的情况,您可以执行以下两项操作之一:

  • 在Layout.xml中只有ListView,你可以设置那么大 将Lister作为FooterView布局到ListView。
  • 如果要使用ScrollView,请动态删除ListView 将这些列表项添加为普通布局(线性/相对布局)。

更推荐第一种方法。

答案 2 :(得分:0)

尝试这项工作我已经检查过了。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical" 
>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="5dp">
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="63dp">

    <ImageView
        android:id="@+id/menu_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/hs18_logo" />

    <ImageView
        android:id="@+id/setting_icon"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="17dp"
        android:scaleType="fitCenter"
        android:src="@drawable/menu" />

    <ImageButton
        android:id="@+id/signin_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/setting_icon"
        android:layout_marginRight="20dp"
        android:background="@android:color/transparent"
        android:src="@drawable/signin"
        android:visibility="invisible" />
</RelativeLayout>

<TextView
    android:id="@+id/cart_checkout_title"
    android:layout_width="fill_parent"
    android:layout_height="35dp"
    android:background="@color/gray"
    android:gravity="center"
    android:text="Shipping Address"
    android:textStyle="bold" />

<ListView
    android:id="@+id/shipping_addresses_listView"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
       >
</ListView>
</LinearLayout>
</ScrollView>

&安培;如果你在Listview之后添加布局将id提供给scrollview&amp;在Scrollview中添加布局,这对您来说非常合适。