Как поместить 2 пользовательских вида в динамический RelativeLayout? - PullRequest
0 голосов
/ 06 июня 2019

Я получил следующее customViews:

val paintTextTypology = Paint()
val paintTextDate = Paint()

Эти 2 текста следующие customViews: enter image description here

И результат, который я хочуЧтобы достичь этого: enter image description here

Итак, я хочу выровнять текст по правому краю, но поскольку тексты разделены, я думаю, что мне нужно создать динамический RelativeLayout для выравниванияих справа от родителя.(Я не могу позволить себе иметь margin-right, потому что текст может измениться.) Как я могу это сделать?

1 Ответ

0 голосов
/ 06 июня 2019

Исходя из вашего комментария (мне пока не ясно на 100%, потому что я не знаю, каковы ваши пользовательские представления ), я бы использовал ConstraintLayout, который выглядел бы так:

Красный прямоугольник - это ваша картинка. А затем я добавил два textViews, которые выравниваются по изображению. Вы можете поиграть с ним и посмотреть, что еще вам нужно. (это упрощение).

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is textView One"
        app:layout_constraintEnd_toStartOf="@id/image"
        app:layout_constraintTop_toTopOf="@+id/image"
        />
    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is textView Two -> longer"
        app:layout_constraintEnd_toStartOf="@id/image"
        app:layout_constraintTop_toBottomOf="@id/text1"
        />
    <ImageView
        android:id="@+id/image"
        android:layout_width="150dp"
        android:layout_height="300dp"
        android:contentDescription="TODO"
        android:src="@color/emphasis_red"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />
</android.support.constraint.ConstraintLayout>

Это будет выглядеть так:

Emulator

...