在android中叠加布局

时间:2014-11-11 19:05:04

标签: android android-layout layout

我想要做一个布局叠加,这是我现在的代码。:

<?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"
    android:background="@color/white">

    <ScrollView
        android:id="@+id/content_scroll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:id="@+id/container_main"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical">

            <LinearLayout
                android:id="@+id/text_search"
                android:layout_width="fill_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:background="@color/white"
                android:weightSum="2">

                <EditText
                    android:id="@+id/input_search"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:hint="@string/placeholder_search"
                    android:layout_margin="5dp"
                    android:layout_weight="1.5"
                    android:inputType="text"
                    android:padding="5dp"
                    android:drawableRight="@drawable/ic_search"
                    android:background="@drawable/style_input"
                    android:imeOptions="actionSend"/>

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.5"
                    android:src="@drawable/img_header" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/list_search"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginTop="-5dp"
                android:layout_gravity="top"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/no_result"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:visibility="gone"
                    android:text="@string/no_result"
                    android:gravity="center_horizontal|center_vertical|center"/>


                <ListView
                    android:id="@+id/search_categorias"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"></ListView>


            </LinearLayout>

            <LinearLayout
                android:id="@+id/container_buttons_tall"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:orientation="horizontal"
                android:background="@drawable/style_header">

                <TextView
                    android:id="@+id/otherlayout1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:visibility="gone"
                    android:text="Other Layout" />

            </LinearLayout>


            <LinearLayout
                android:id="@+id/container_buttons_tall1"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:orientation="horizontal"
                android:background="@drawable/style_header"
                android:weightSum="3">

                <TextView
                    android:id="@+id/otherlayout2"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:visibility="gone"
                    android:text="Other Layout 2" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/container_buttons_tall2"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:orientation="horizontal"
                android:background="@drawable/style_header"">

                <TextView
                    android:id="@+id/otherlayoutn"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:visibility="gone"
                    android:text="Other Layout N" />

            </LinearLayout>

    </ScrollView>

</RelativeLayout>

我希望将ID“@ + id / text_search”之后的下一个布局与其余布局重叠,此列表是搜索并向用户显示建议。

如果用户想要进行搜索,此列表将覆盖我在下面定义的其他布局。

是否有某种方式可以轻松叠加?或者可以帮助我的教程。我尝试使用RelativeLayout,但我没有做好。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以使用相对布局,但你需要指定关系(这就是为什么relative =&gt;相对于什么)

表示您必须设置相对于父级的+ id / text_search的位置。 并且应该做覆盖层的元素必须是相对于父级的。

todo所以相对布局使用布局属性,如:below =(ID)toRightOf(ID)等等。

你可以在这里开始阅读: http://developer.android.com/guide/topics/ui/layout/relative.html

但是对于想要搜索的搜索,已经有一个很好的建议:所以我建议阅读这篇文章: http://developer.android.com/guide/topics/search/search-dialog.html

做得对,就像所有其他应用程序一样,您的客户会满意(不需要学习新东西)