Search code examples
androidxmlandroid-linearlayoutandroid-relativelayout

How to easily convert my LinearLayouts into RelativeLayouts


I have 4 LinearLayouts that I would like to convert into RelativeLayouts. Using my xml here, I have, as my preferred format:

  • ImageButton
  • ImageButton
  • TextView
  • Button

How do I change to RelativeLayout to always display the 1st ImageButton on the very top, always display the Button at the very bottom, and have the 2nd ImageButton below the first ImageButton, with the TextView between the 2nd ImageButton and the regular Button?

Thanks!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:gravity="center">

    <ImageView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:id="@+id/image_view" />

    <TextView 
        android:text="@+id/TextView01"  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/message" />

    <Button
        android:layout_gravity="center_horizontal"
        android:layout_width="fill_parent"
        android:textStyle="bold" 
        android:id="@+id/action_button"    
        android:selectAllOnFocus="false" 
        android:layout_height="100dip" 
        android:text="Click here to Crop"/>

</LinearLayout>

Solution

  • <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content">
    
    <ImageButton android:layout_below="@+id/Button01" 
                android:id="@+id/ImageButton01"     
                android:layout_height="wrap_content" 
                android:layout_alignParentTop="true" 
                android:layout_width="fill_parent">
    </ImageButton>
    <ImageButton android:layout_below="@+id/ImageButton01" 
                android:id="@+id/ImageButton02" 
                android:layout_height="wrap_content" 
                android:layout_width="fill_parent">
    </ImageButton>
    <TextView android:layout_height="wrap_content" 
                 android:id="@+id/TextView01" 
                 android:text="@+id/TextView01" 
                 android:layout_width="wrap_content"      
                 android:layout_below="@+id/ImageButton02">
    </TextView>
    <Button android:text="@+id/Button01" 
                 android:id="@+id/Button01" 
                 android:layout_height="wrap_content" 
                 android:layout_alignParentBottom="true"   
                 android:layout_width="fill_parent">
     </Button>
    </RelativeLayout>
    

    also you may want to look here and here