如何在Android中将Imageview放在Listview下面?

时间:2014-01-23 20:36:41

标签: android android-layout android-listview

我的Activity有一个布局,这个布局包含很多小部件。 在我从Listview中的webservice加载的活动数据中。 当listview被改编并填写所有数据时。 imagview是看不见的 但是我希望在数据加载时将Imageview显示在Listview下面。

我在activity_main.xml中的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rel_index"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f8f8f8"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/edt_search"
        android:layout_width="fill_parent"
        android:layout_height="40sp"
        android:layout_marginLeft="10sp"
        android:layout_marginRight="10sp"
        android:layout_marginTop="115sp"
        android:background="@drawable/round_corener_edittext"
        android:drawableLeft="@drawable/center"
        android:hint="@string/search"
        android:paddingLeft="5sp"
        android:paddingRight="5sp"
        android:textColor="#44e1f4" />

    <RelativeLayout
        android:id="@+id/rel_top"
        android:layout_width="fill_parent"
        android:layout_height="135sp"
        android:layout_marginBottom="25sp"
        android:background="@drawable/header" >

        <ImageView
            android:id="@+id/img_logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_margin="10sp"
            android:background="@drawable/digi_logo"
            android:visibility="gone" />

        <View
            android:id="@+id/line"
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:layout_below="@+id/img_logo"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="20sp"
            android:layout_marginRight="20sp"
            android:background="#2391a2"
            android:visibility="gone" />

        <TextView
            android:id="@+id/txt_app"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/line"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="10sp"
            android:layout_marginTop="5sp"
            android:text="@string/txt_name"
            android:textColor="#1e7c95"
            android:textSize="14sp"
            android:visibility="gone" />
    </RelativeLayout>

    <ListView
        android:id="@+id/lst_data"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rel_top"
        android:layout_marginBottom="10sp"
        android:clipToPadding="false" />



    <ImageView
        android:id="@+id/img_offer"
        android:layout_width="fill_parent"
        android:layout_height="70sp"
        android:layout_below="@+id/lst_data"
        android:adjustViewBounds="true"
        android:background="@drawable/offers_btn"
        android:scaleType="fitXY" />

</RelativeLayout>

如何解决我的Problms.thanks。

2 个答案:

答案 0 :(得分:5)

您目前告诉布局inflater要做的是将标题布局rel_top置于顶部,然后在其下方放置ListView,然后在其下方放置ImageView。您想要的基本上是将ImageView锚定在显示屏的底部,并在图像和标题布局之间拉伸ListView

不应将ImageViewListView对齐,而应将ImageView与屏幕底部对齐

<ImageView
        android:id="@+id/img_offer"
        android:layout_width="fill_parent"
        android:layout_height="70sp"
        **android:layout_alignParentBottom="true"**
        android:adjustViewBounds="true"
        android:background="@drawable/offers_btn"
        android:scaleType="fitXY" />

ListViewrel_top对齐并高于ImageView

<ListView
        android:id="@+id/lst_data"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rel_top"
        **android:layout_above="@+id/img_offer"**
        android:layout_marginBottom="10sp"
        android:clipToPadding="false" />

答案 1 :(得分:2)

private ImageView _imgView = null;
_imgView = new ImageView(this);
_listView.addFooterView(_imgView);

试试这个;它可以帮助你。