Search code examples
androidxmlalignmentchatandroid-relativelayout

Align a RelativeLayout to bottom in android


I've the following code to create a element of a chat, but the ImageView shows unaligned respect the design. The layout shows like this when i run the program, ¿How can i aling the View named "avatar" to the bottom of the RelativeLayout?

<?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"
android:orientation="vertical"
android:layout_marginLeft="@dimen/stixchat_margin_8"
android:layout_marginRight="@dimen/margin_item_chat_right"
android:layout_marginTop="@dimen/stixchat_margin_8"
>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/content_avatar"
    android:orientation="vertical"
    >


    <com.trongphuc.emoappchat.FriendProfileImageViewLast
        android:id="@+id/avatar"
        android:layout_width="62dp"
        android:layout_height="62dp"
        android:layout_marginLeft="10dp"

        />
</LinearLayout>



<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bubble_test"
    android:id="@+id/content_content"
    >

    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="4dp"
        android:text="New Text"
        android:lineSpacingMultiplier="@dimen/chat_text_spacing"
        android:textAppearance="@style/StixChatText.Primary.Light"
        android:textColor="@android:color/white" />

</RelativeLayout>



<ImageView
    android:id="@+id/check"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/box_checkk"
    android:padding="@dimen/stixchat_margin_16"/>

<RelativeLayout
    android:id="@+id/item_chat_status_root"
    android:layout_below="@+id/content_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/content_avatar"
    android:layout_marginLeft="@dimen/stixchat_margin_8"
    android:visibility="gone">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:textSize="10dp"
        android:text="24/03/2016 at 20:20"
        android:id="@+id/item_chat_status_tv" />
</RelativeLayout>
</RelativeLayout>

Solution

  • RelativeLayout gives you attributes that you can add in your layout xml files.

    In your case, you would need to add this to your linear layout:

    android:layout_alignParentBottom = "true"

    This would make the container align to its parent's bottom.

    You can view the documentation here - http://developer.android.com/guide/topics/ui/layout/relative.html