Невозможно распространить дочерние представления по сторонам их родительского линейного макета - PullRequest
0 голосов
/ 18 сентября 2019

Я хочу создать макет с двумя видами внутри.

1) A GroupView с textView слева

2) A imageView справа

Между ними минимальный разрыв, поэтому, если textView слишком длинный, он усекает его содержимое, но изображение никогда не уменьшается.

Вот моя попытка:

<LinearLayout 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="wrap_content"
    android:orientation="horizontal">

  <myTextView
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/my_text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_vertical|left" />


  <ImageView
      android:id="@+id/my_image"
      android:layout_width="18dp"
      android:layout_height="18dp"
      android:layout_marginTop="@dimen/my_margin_vertical"
      android:layout_marginBottom="@dimen/my_margin_vertical"
      android:layout_marginEnd="@dimen/my_margin_end"
      android:layout_marginRight="@dimen/my_margin_end"
      android:layout_gravity="center_vertical|right"
      app:srcCompat="@drawable/my_color_18_vd" />
</LinearLayout>

но результат не отодвигает взгляды детей в сторону и не оставляет зазор между ними в пользу изображения.

Как я могу это исправить?

enter image description here

enter image description here

1 Ответ

0 голосов
/ 19 сентября 2019

Вы можете исправить это, установив вес для вашего textview

<LinearLayout 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="wrap_content"
    android:orientation="horizontal">

  <myTextView
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/my_text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
     android:layout_weight="1"
 android:layout_marginEnd="10dp"
      android:layout_gravity="center_vertical|left" />


  <ImageView
      android:id="@+id/my_image"
      android:layout_width="18dp"
      android:layout_height="18dp"
      android:layout_marginTop="@dimen/my_margin_vertical"
      android:layout_marginBottom="@dimen/my_margin_vertical"
      android:layout_marginEnd="@dimen/my_margin_end"
      android:layout_marginRight="@dimen/my_margin_end"
      android:layout_gravity="center_vertical|right"
      app:srcCompat="@drawable/my_color_18_vd" />
</LinearLayout>
...