0

I'm using com.github.library.bubbleview.BubbleTextView for setting firebase chat UI.

XML Code:

<com.github.library.bubbleview.BubbleTextView
            android:id="@+id/message_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_below="@id/message_user"
            android:layout_marginTop="5dp"
            android:padding="10dp"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColor="#000000"
            android:textSize="18sp"
            app:angle="8dp"
            app:arrowHeight="10dp"
            app:arrowLocation="left"
            app:arrowPosition="140dp"
            app:arrowWidth="8dp"
            app:bubbleColor="#fff"
            />

Basically, when a user sends a message, I want to set the alignment to right dynamically which can be achieved if XML contains android:layout_alignParentEnd="true"

Edit 1: Layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:id="@+id/message_user"
        android:textStyle="normal|bold"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#fff"/>

    <TextView
        android:layout_alignParentBottom="@+id/message_user"
        android:layout_alignParentEnd="true"
        android:id="@+id/message_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#fff"/>

    <com.github.library.bubbleview.BubbleTextView
        android:id="@+id/message_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@id/message_user"
        android:layout_marginTop="5dp"
        android:padding="10dp"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:textColor="#000000"
        android:textSize="18sp"
        app:angle="8dp"
        app:arrowHeight="10dp"
        app:arrowLocation="left"
        app:arrowPosition="140dp"
        app:arrowWidth="8dp"
        app:bubbleColor="#fff"
        />

</RelativeLayout>
Cœur
  • 37,241
  • 25
  • 195
  • 267
Divyam Solanki
  • 461
  • 2
  • 7
  • 25

1 Answers1

0

You can use a code like this

RelativeLayout.LayoutParams params = bubbleTextView.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_END);
bubbleTextView.setLayoutParams(params);

The code should be self explanatory, if not you can visit following question

Saurabh Mishra
  • 306
  • 3
  • 12