ListView下方的图像

时间:2012-08-29 16:06:38

标签: android android-layout

我有这个列表视图占据了整个页面。我希望它尽可能地延伸到尽可能远但我需要在它下面的图像。现在,列表一直延伸到我的标签栏所在的位置,但我需要介于两者之间。在我的模拟器上它之前工作得很好,但我有一个指定的高度,所以当我在手机上测试它的高度是一团糟。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout android:layout_width="wrap_content" android:layout_height="50dp">       
        <ImageView android:id="@+id/selfImage" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/navbar"/>
        <ImageView android:id="@+id/logoImage" android:layout_width="70dp" android:layout_height="46dp" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:background="@layout/border"/>
        <ImageView android:id="@+id/mainLogo" android:layout_width="50dp" android:layout_height="46dp" android:background="@drawable/corner_icon" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"/>
        <TextView android:id="@+id/nameTitle" android:text="Help" android:layout_width="130dp" android:layout_height="46dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center" android:textColor="#C6DE52"/>
    </RelativeLayout>


    <RelativeLayout android:layout_width="310dp" android:layout_height="40dp">
        <EditText android:id="@+id/search"
            android:layout_height="match_parent"
            android:layout_width="280dp"
            android:hint="Search"/>
        <ImageButton
            android:id="@+id/favButton"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:background="@drawable/favorite" />

    </RelativeLayout>

   <ListView
       android:id="@+id/selfHelpList"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content" >

   </ListView>

   <RelativeLayout android:layout_width="match_parent" android:layout_height="30dp">    
       <ImageView android:id="@+id/myImageView"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:background="@drawable/bottombar" />

       <TextView android:id="@+id/myImageViewText"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignLeft="@+id/myImageView"
           android:layout_alignTop="@+id/myImageView"
           android:layout_alignRight="@+id/myImageView"
           android:layout_alignBottom="@+id/myImageView"
           android:layout_margin="1dp"
           android:layout_alignParentLeft="true"
           android:text="For immediate assisstance call"
           android:textColor="#C6DE52" />

       <Button android:id="@+id/urgentNumButton"
           android:layout_width="120dp"
           android:layout_height="match_parent"
           android:layout_alignParentRight="true"
           android:paddingLeft="5dp"
           android:paddingTop="2dp"
           android:textColor="#C6DE52"    
           android:gravity="left"           
           android:background="@android:color/transparent"
           android:onClick="onClick"/>
   </RelativeLayout>

</LinearLayout>   

这是屏幕应该做的事情,(图像有一个固定的高度。我试图远离那个)

enter image description here

现在看来是这样的。

enter image description here

任何帮助都会很棒。感谢

3 个答案:

答案 0 :(得分:1)

ListView更改为:

<ListView
       android:id="@+id/selfHelpList"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:layout_weight="1" />

这将导致ListView接管整个屏幕,现在添加到上方和下方的所有视图中:

android:layout_weight="0"

所以他们会占用他们需要的空间,然后ListView将获得所有剩余的高度。

答案 1 :(得分:0)

我有一个屏幕,其中Imageview在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="match_parent" 
    android:background="@drawable/bg">

    <ImageView
        android:id="@+id/dept_nav"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/dept_nav" />

      <ListView
        android:id="@+id/list_of_f"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_margin="5dp"
        android:layout_below="@+id/dept_nav"
        android:layout_above="@+id/imageViewId"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:listSelector="@android:color/transparent" >
    </ListView>



        <ImageView
        android:id="@+id/imageViewId"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="2dp"
        android:scaleType="fitXY"
        android:src="@drawable/empty_cell" >
    </ImageView>

</RelativeLayout>

答案 2 :(得分:0)

已在单独的question

中回答了这个问题

您可以通过将ImageView添加为ListView的Footer来更好地完成此操作。