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