0

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

这是我的代码:

<?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>   

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

在此处输入图像描述

这是它现在的样子。

在此处输入图像描述

任何帮助都会很棒。谢谢

4

3 回答 3

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将获得所有其余的高度。

于 2012-08-29T16:24:49.147 回答
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>
于 2014-04-15T06:59:17.730 回答
0

已经在一个单独的问题中回答了这个问题

您可以通过将 ImageView 添加为FooterListView 来以更好的方式完成此操作。

于 2017-04-04T00:52:21.653 回答