1
votes

Comment supprimer l'espace sur la disposition de ma ligne d'adaptateur

J'ai une ligne de mise en page qui est utilisée sur l'adaptateur comme la suivante:

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

Mon problème est qu'il y a toujours un espace qui sépare les mises en page suffisamment grandes. Même si j'ai supprimé tout le rembourrage, comme le rembourrage gauche et droit. Y a-t-il quelque chose que je ne vois pas? De plus, l'écran ressemble à ceci: disposition des lignes avec un grand écart
Vous pouvez copier cet extrait de code de mise en page et le coller dans votre mise en page de test pour voir le problème.


0 commentaires

3 Réponses :


2
votes

Le problème est votre ImageView . Vous avez défini android: layout_height = "200dp" qui imposera à la vue une hauteur d'au moins 200dp quelle que soit la taille réelle de l'image. Puisque votre mise en page Parent est android: layout_height = "wrap_content" vous obtiendrez le comportement ci-dessus.

Une façon de résoudre ce problème est de définir android: layout_height = "wrap_content" dans ImageView . L'inconvénient de cette approche est que vous perdez le contrôle de la hauteur d'ImageView. Si la hauteur réelle de l'image est de 300dp , la vue sera immense.

Une autre façon est de réduire la hauteur de ImageView . Ne le faites que si vous souhaitez appliquer une hauteur spécifique à toutes les images.


2 commentaires

mais je dois faire cette taille large


@NandaZ Super :-)



1
votes

Il y a un remplissage de 10dp à la fin de la vue d'image. Essayez également d'utiliser la hauteur min (/ max) et la largeur min (/ max) au lieu de la valeur absolue.

Et vous pouvez toujours redimensionner votre image, définir le type de scalet sur fitXY


0 commentaires

1
votes

Créez le code ImageView comme ci-dessous. Cela conservera la largeur souhaitée.

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


1 commentaires

merci, sa réponse similaire avec sagat. J'ai pris sa réponse