如何使用Listview下方的按钮构建布局

时间:2014-03-31 02:52:24

标签: android android-layout listview

我使用文本编辑构建搜索布局以输入关键字,列表视图显示搜索结果,以及按钮“添加联系人”。 我想在这里用条件构建这个布局: 首先,如果i设置列表视图的可见性为GONE(当我启动Activity并且我还没有使用搜索操作时),我想在文本编辑下方显示按钮“添加联系人”。 接下来,当我使用搜索操作并接收结果时,我想在文本编辑下显示列表视图,按钮“添加联系人”将移动到布局的底部。 这是我的xml:

<LinearLayout
        android:id="@+id/search_bar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/topcontrolbar"
        android:background="@drawable/background"
        android:orientation="vertical" >
        <RelativeLayout
            android:id="@+id/searchbar"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_marginLeft="3dp"
            android:layout_marginRight="3dp"
            android:layout_marginTop="15dp"
            android:background="@color/transparent" >

            <Button //This is button Search
                android:id="@+id/magnifier"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="13dp"
                android:background="@drawable/search_button" /> 

            <EditText
                android:id="@+id/edt_key_search"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_toLeftOf="@+id/magnifier"
                android:background="@color/white"
                android:hint="@string/contactadd3"
                android:imeOptions="actionSearch"
                android:inputType="text"
                android:paddingLeft="5dp"
                android:singleLine="true"
                android:textSize="16sp" >
            </EditText>
        </RelativeLayout>
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/transparent" >
            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            android:visibility="visible"

                >
            </ListView>
            <Button
                android:id="@+id/btnRegi"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="13dp"
                android:layout_marginRight="13dp"
               android:layout_bellow="@+id/listView1"
                android:background="@drawable/registerbutton"
                android:text="@string/contactadd2"
                android:textColor="#FAFAFA" />
        </RelativeLayout>
    </LinearLayout>

我的问题是:当我开始活动时,可以使用EditText下面的按钮btnRegi。但是当我收到结果并设置为列表视图时,列表视图将显示填充布局,按钮btnRegi将消失。

任何人都可以帮助我吗?

抱歉我的英文不好,希望你们能看到我的问题。感谢

3 个答案:

答案 0 :(得分:0)

在列表视图底部添加一个按钮并不是控制列表视图的好方法。请尝试通过在列表视图中添加或bottomview标题视图来使用。

答案 1 :(得分:0)

我认为我会删除第二个相对布局,以便LinearLayout会 有3个要素:

  • 您的搜索按钮/文字字段
  • listView
  • 底部按钮。

ListView添加layout_weight为1,以便我将使用所有垂直空间。

<LinearLayout
    android:id="@+id/search_bar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/topcontrolbar"
    android:background="@drawable/background"
    android:orientation="vertical" >
    <RelativeLayout
        android:id="@+id/searchbar"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginTop="15dp"
        android:background="@color/transparent" >

        <Button //This is button Search
            android:id="@+id/magnifier"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="13dp"
            android:background="@drawable/search_button" /> 

        <EditText
            android:id="@+id/edt_key_search"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="@color/white"
            android:hint="@string/contactadd3"
            android:imeOptions="actionSearch"
            android:inputType="text"
            android:paddingLeft="5dp"
            android:singleLine="true"
            android:textSize="16sp" >
        </EditText>
    </RelativeLayout>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="visible"
        android:layout_weight="1" />

    <Button
        android:id="@+id/btnRegi"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="13dp"
        android:layout_marginRight="13dp"
        android:layout_bellow="@+id/listView1"
        android:background="@drawable/registerbutton"
        android:text="@string/contactadd2"
        android:textColor="#FAFAFA" />
</LinearLayout>

答案 2 :(得分:0)

I think this one can help you
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/search_bar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/topcontrolbar"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/searchbar"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginTop="15dp" >

        <Button
            android:id="@+id/magnifier"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="13dp" />

        <EditText
            android:id="@+id/edt_key_search"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_toLeftOf="@+id/magnifier"
            android:hint="contact"
            android:imeOptions="actionSearch"
            android:inputType="text"
            android:paddingLeft="5dp"
            android:singleLine="true"
            android:textSize="16sp" >
        </EditText>
    </RelativeLayout>


        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone" >
        </ListView>

        <Button
            android:id="@+id/btnRegi"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_bellow="@+id/listView1"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="13dp"
            android:layout_marginRight="13dp"
            android:textColor="#FAFAFA" />

</LinearLayout>