Nesting Relative layout inside Linear Layout

25,310

Try the following changes to your code. You have to define the button first, since it is of fixed width, and then place the EditText to fill the rest of the space, placed to the left of the button. The button also has to be defined first (prior to Android 2.2, that is).

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent">

    <Button 
        android:id="@+id/getGraph"
        android:text="@string/get" 
        android:layout_alignParentRight="true"          
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        />
    <EditText 
        android:hint="@string/feed_url"
        android:id="@+id/feedUrl" 
        android:textSize="14dp" 
        android:inputType="textUri"
        android:layout_marginRight="45dp" 
        android:layout_height="wrap_content" 
        android:layout_width="fill_parent"
        android:layout_toLeftOf="@id/getGraph" 
        />
</RelativeLayout>
Share:
25,310
Sudar
Author by

Sudar

I am a developer from Chennai, India, mostly interested in WordPress, Android and Arduino programming. I write about my projects at my blog. You can also checkout my code that I have released as open source in my github account. You can follow me on twitter.

Updated on July 06, 2022

Comments

  • Sudar
    Sudar almost 2 years

    I have the following code in my layout.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">
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent">
    
        <EditText android:hint="@string/feed_url"
            android:id="@+id/feedUrl" android:textSize="14dp" android:inputType="textUri"
            android:layout_marginRight="45dp" android:layout_height="wrap_content" android:layout_width="fill_parent">
        </EditText>
    
        <Button android:id="@+id/getGraph"
            android:text="@string/get"
            android:layout_toRightOf="@id/feedUrl" 
            android:layout_alignParentRight="true"          
            android:layout_height="wrap_content" android:width="45dp" android:layout_width="wrap_content">
        </Button>
    
    </RelativeLayout>
    
    <WebView android:id="@+id/wv1" android:layout_height="wrap_content"
        android:layout_width="fill_parent" />
    </LinearLayout>
    

    In the eclipse Plugin layout creator, the EditText and button are shown properly. (see the below screenshot)

    alt text

    But on the device and emulator, the button is not hidden. (see the below screenshot)

    alt text

    Any idea why the button is getting hidden in the device?