我使用文本编辑构建搜索布局以输入关键字,列表视图显示搜索结果,以及按钮“添加联系人”。 我想在这里用条件构建这个布局: 首先,如果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将消失。
任何人都可以帮助我吗?
抱歉我的英文不好,希望你们能看到我的问题。感谢
答案 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>