Как убрать зазор на моей компоновке ряда адаптеров - PullRequest
0 голосов
/ 08 января 2019

У меня есть строка макета, которая используется на адаптере, как показано ниже:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/title_related"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ini Judul Related" />

        <TextView
            android:id="@+id/time_related"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="0dp"
            android:text="Jumat, 21 Desember 2018 04:45"
            android:textStyle="bold" />
    </LinearLayout>

    <ImageView
        android:id="@+id/image_related"
        android:layout_width="350dp"
        android:layout_height="200dp"
        android:layout_weight="2"
        android:paddingEnd="10dp"
        android:src="@drawable/picture"
        tools:ignore="RtlSymmetry" />

</LinearLayout>

Моя проблема в том, что между достаточно большими макетами всегда есть разрыв. Несмотря на то, что я удалил все отступы, такие как левый и правый отступы. Есть что-то, чего я не вижу? Кроме того, дисплей выглядит так: row layout with big gap
Вы можете скопировать этот фрагмент кода макета и вставить его в свой макет теста, чтобы увидеть проблему.

Ответы [ 3 ]

0 голосов
/ 08 января 2019

В конце просмотра изображения есть отступ 10dp. Также попробуйте использовать минимальную (/ max) высоту и минимальную (/ max) ширину вместо абсолютного значения.

И вы всегда можете масштабировать изображение, установив масштаб типа в соответствии с XY

0 голосов
/ 08 января 2019

Сделайте код ImageView, как показано ниже. Это позволит сохранить ширину, как вам нужно.

<ImageView
    android:id="@+id/image_related"
    android:layout_width="350dp"
    android:layout_height="wrap_content"
    android:scaleType="fitCenter"
    android:paddingEnd="10dp"
    android:src="@drawable/picture"
    tools:ignore="RtlSymmetry" />
0 голосов
/ 08 января 2019

Проблема ваша ImageView. Вы установили android:layout_height="200dp", который заставит представление к высоте как минимум 200dp независимо от фактического размера изображения. Поскольку ваш родительский макет android:layout_height="wrap_content", вы получите поведение выше.

Один из способов решить эту проблему - установить android:layout_height="wrap_content" внутри ImageView. Недостаток этого подхода заключается в том, что вы теряете контроль над высотой ImageView. Если фактическая высота изображения равна 300dp, то изображение будет огромным.

Другой способ - уменьшить высоту ImageView. Делайте это только в том случае, если вы хотите установить конкретную высоту для всех изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...