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:
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.
3 Réponses :
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.
mais je dois faire cette taille large
@NandaZ Super :-)
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
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" />
merci, sa réponse similaire avec sagat. J'ai pris sa réponse