Установить выравнивание BubbleTextView программно - PullRequest
0 голосов
/ 26 декабря 2018

Я использую com.github.library.bubbleview.BubbleTextView для настройки пользовательского интерфейса чата Firebase.

Код XML:

<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"
            />

Обычно, когда пользователь отправляет сообщение, я хочу установить выравнивание надинамическое право, которое может быть достигнуто, если XML содержит android:layout_alignParentEnd="true"

Редактировать 1: Макет

<?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>

1 Ответ

0 голосов
/ 27 декабря 2018

Вы можете использовать код, подобный этому

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

Код должен быть понятен, если вы не можете посетить следующий вопрос

...