在两个元素之间添加listView

时间:2014-03-24 16:00:42

标签: android xml listview android-listview

我想在顶部和底部按钮之间添加一个listView。我不希望它有固定的大小,所以我试着像这样设置它:

<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<ListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/button1" />

 <Button 
    android:id="@+id/button2
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

但是当以这种方式设置布局文件时,列表视图当然低于第一个按钮,但是从那里向下移动到屏幕的按钮,而不停在按钮2上方。 - &GT;列表视图与button2重叠。

如何在这两个按钮之间放置列表视图?

7 个答案:

答案 0 :(得分:1)

这样的事情应该做的工作

<LinearLayout  android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical>
    <Button 
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:weight="1"/>

     <Button 
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    </LinearLayout>

答案 1 :(得分:1)

试试这个..

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

<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<ListView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

 <Button 
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</LinearLayout>

或者

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/button2"
    android:layout_below="@+id/button1" />

 <Button 
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />
</RelativeLayout>

答案 2 :(得分:1)

android:layout_above="@+id/button2"属性添加到ListView,如下所示......这会使ListView保持在button2之上。

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<ListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/button1"
    android:layout_above="@+id/button2" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

答案 3 :(得分:0)

尝试这种方式:

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

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Button" />

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/button1"
        android:layout_above="@+id/button2" >
    </ListView>

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Button" />

</RelativeLayout>

根据您的要求,这完美无缺。这很简单...... :)

答案 4 :(得分:0)

您可以使用RelativeLayoutListView可以使用参数layout_abovelayout_below设置排名。

答案 5 :(得分:0)

尝试将xml插入RelativeLayout。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<ListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/button1" />

 <Button 
    android:id="@+id/button2
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

</RelativeLayout>

答案 6 :(得分:0)

将此属性设置为listview

<ListView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/button1"
    android:layout_above="@+id/button2" />