Android Add Button Top Of Listview

时间:2011-08-22 10:31:09

标签: android listview button

对不起,我是新手:(

如何在Button的顶部添加ListView,并在此处添加样式: This Image

7 个答案:

答案 0 :(得分:2)

我认为当你首先使用一个垂直方向的LinearLayout,然后放一个Button,然后放一个ListView时,我会更好。 LinearLayout将您的“内容包装器”如下所示: main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
   <Button 
      android:text="Button"
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" />
   <ListView 
      android:id="@+id/listView1" 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:entries="@array/list"/>       
 </LinearLayout>

和条目的字符串数组:

<string-array name="list">
    <item>Entry1</item>
    <item>Entry2</item>
    <item>Entry3</item>
    <item>Entry4</item>
</string-array>

答案 1 :(得分:0)

首先,我只是想确认一下Button始终位于ListView之上,即使滚动ListViewButton仍在那里或Button也滚动了

如果是第一种情况,那么非常简单,只需在LinearLayout之前使用Button制作一个垂直的ListView

如果是第二种情况,则相当复杂。由于您不应在ListView内使用ScrollView,我建议您将ListView的第一行设置为内置Button的自定义视图。为此,请查看如何扩展BaseAdapterLayoutInflate

答案 2 :(得分:0)

也许这个按钮不是listview的一部分。 尝试制作这样的布局:

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

答案 3 :(得分:0)

您可以使用relativeLayout执行此操作:

<RelativeLayout android:id="@+id/parentLayout"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

   <Button android:id="@+id/btn"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="My Button"
      android:alignParentTop = "true"/>

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

</RelativeLayout>

答案 4 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical" android:layout_gravity="top|center_horizontal"
    android:layout_width="match_parent" android:layout_height="wrap_content">
    <Button android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:text="Add Alarm"/>
    <ListView android:layout_width="fill_parent" android:layout_height="0dip"
        android:layout_weight="1.0"></ListView>
</LinearLayout>

这应该给出所需的布局。

答案 5 :(得分:0)

您可以尝试ListView.addHeaderView();

这样,按钮将出现在元素上方的ListView内。另外,请查看此tutorial

答案 6 :(得分:0)

您可以在自己的布局中设计在适配器中充气并设置按钮可见性消失的按钮。在适配器中,如果psoition为0且为0,则必须仅检查getview方法,使按钮可见,否则使其消失。这样,您在列表的顶部有一个按钮,并且可以滚动。要使按钮可单击,只需在getview方法中实现onclick方法。很容易。