android嵌套RelativeLayout水平方向textview重叠按钮

时间:2014-07-25 15:44:02

标签: android

我的布局如下,我尝试将下面的配置用于EditText和EditText消失

android:layout_toRightOf="@+id/filter_button"

EditText应该在左侧,并且它的长度需要填充,直到EditText左侧的Button。

我的布局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="0dp"
    tools:context="ethervision.net.ama.DirectoryActivity"
    android:weightSum="1"
    android:orientation="vertical"
    android:background="#ffffff">

    <!-- This nested layout contains views of its own -->
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/search_filter">

        <EditText
            android:id="@+id/search"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/filter_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="All Contact" />

    </RelativeLayout>

    <ListView
        android:id="@+id/listview_directory"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/search_filter"
        android:theme="@style/ListFont"
        android:layout_weight="1" />


</RelativeLayout>

我使用的是Android Studio 0.8.2。请帮忙:D

Cheerio, 标记

2 个答案:

答案 0 :(得分:3)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="ethervision.net.ama.DirectoryActivity"
  android:background="#ffffff">

  <!-- This nested layout contains views of its own -->
  <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/search_filter">


    <Button
        android:id="@+id/filter_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="All Contact" />

    <EditText
        android:id="@+id/search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/filter_button"
        >
        <requestFocus />
    </EditText>

  </RelativeLayout>

  <ListView
    android:id="@+id/listview_directory"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/search_filter"
    android:theme="@style/ListFont"
    android:layout_weight="1" />


</RelativeLayout>

希望这有帮助。

答案 1 :(得分:1)

为了将来参考,您可以在设计器视图中移动对象,它将为您生成代码。看看是否有效。

   <EditText
        android:id="@+id/search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/filter_button" >

        <requestFocus />
    </EditText>