Mise en page Android - problème d'alignement avec ImageView
-
19-08-2019 - |
Question
J'essaie de placer une image en haut à gauche d'un LinearLayout
, mais avec la bordure et le remplissage de l'image occupant toute la largeur de la fenêtre.
Si j'essaie le code XML ci-dessous, mon image apparaît avec sa bordure et un fond blanc sur toute la largeur de la page, sauf que l'image se termine au centre . et ne se déplace pas vers la gauche.
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:src="@drawable/banner"
android:background="@android:color/white"
android:padding="@dimen/d_8px"
/>
Existe-t-il un attribut non encore identifié qui oblige l'image à rester alignée dans ImageView
lorsque layout_width
est défini sur fill_parent
?
Entre-temps, j'ai résolu ce problème en déposant ImageView
dans un autre LinearLayout
et en déposant un TextView
vide à sa droite qui occupe le reste de l'espace horizontal.
La solution
J'avais un problème similaire, auquel vous avez répondu plus tôt aujourd'hui. Est-ce sur " conception de l'écran " visualiseur fourni par le plug-in Eclipse aux côtés de l'éditeur XML ou rencontrez-vous des problèmes d'alignement lors de l'exécution de l'application? Si le premier, cela semble être un bogue dans le plugin, si le dernier, essayez d'ajouter:
android:scaleType="fitStart"
D'après la documentation que j'ai lue, cela semble être le plus proche de vos besoins.
Autres conseils
Il vous suffit de configurer votre ImageView sur votre fichier XML de présentation avec quelque chose comme ceci:
<ImageView android:id="@+id/imageViewName"
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="fitStart"
android:adjustViewBounds="true"
android:padding="10dp"
android:src="@drawable/ic_contact_picture"
android:background="@color/white" />