Aller au contenu

Coller un élément au bord inférieur de l'écran


guiom056

Recommended Posts

Bonjour,

Existe-t-il une propriété permettant de coller un élément au bord inférieur de l'écran ?

Je souhaite positionner une image en bas de l'écran, mais il y a systématiquement un espace entre le bas de l'image et le bord de l'écran, qui est de la couleur de l'arrière plan du layout...

Merci d'avance ;)

Lien vers le commentaire
Partager sur d’autres sites

T'es dans un RelativeLayout (hauteur "fill_parent") ?

Si oui tu dois utiliser la propriété layout_alignParentBottom="true" sur ton image. Si ça te laisse un espace, je ne vois pas (tu as peut être défini un margin ou padding quelque part?).

Lien vers le commentaire
Partager sur d’autres sites

Non j'utilise un LinearLayout. Cette propriété n'a pas l'air utilisable dans ce cas.

Et j'ai défini des margin pour les objets qui sont situés dans la même fenêtre, mais pas pour l'image que je veux coller au bord inférieur...

Lien vers le commentaire
Partager sur d’autres sites

Le voici :

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent" 
             android:layout_height="fill_parent" 
             android:orientation="vertical" 
             android:background="#ccc">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="#ffffff"
   >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gotoo"
android:layout_gravity="center"
android:layout_marginTop="15px"
/>     
<TextView  
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="@string/titre"
   android:textSize="@dimen/dimtitre"
   android:layout_marginTop="15px"
   android:layout_gravity="center"
   />
<TextView  
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="Login : "
   android:layout_marginTop="15px"
   android:layout_marginLeft="15px"
   android:layout_marginRight="15px"
   />
<EditText
android:id="@+id/login"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:layout_marginLeft="15px"
   android:layout_marginRight="15px"
   android:text="gfavre"
/>
<TextView  
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="Mot de passe : "
   android:layout_marginTop="15px"
   android:layout_marginLeft="15px"
   android:layout_marginRight="15px"
   />
<EditText
android:id="@+id/mdp"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:password="true"
android:layout_marginLeft="15px"
   android:layout_marginRight="15px"
   android:text="gfavregfavre"
/> 
<Button
android:id="@+id/connecterBtn" 
android:text="Se connecter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"	
android:layout_gravity="center_horizontal"
android:layout_marginTop="15px"
/>  
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/herbe"
/>  


</LinearLayout>

</ScrollView>

L'image que je veux coller au bord est la dernière ImageView du code ;)

Lien vers le commentaire
Partager sur d’autres sites

Hum, c'est vrai que c'ets bizarre.

J'ai tester pas mal d'option, mais je ne comprends pas pourquoi la imageview ne respecte pas la contrainte "wrap_content", elle englobe la barre du bas.

Je te conseillerai comme Lord Yu d'utiliser un relativeLayout pour avoir un plus grand choix d'option. Tu verras c'est pas compliqué ;)

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends pas exactement ce que tu veux faire. Mettre l'image au bord de l'écran ? Pourquoi est-ce que ton Layout est inclus dans un ScrollView, alors ?

De plus, avec l'utiliation d'un LinearLayout avec des margin spécifiées en px (pas bon ça, pas portable), tu ne réussiras à positionner tes éléments que par rapport à l'écran de ton device, dès que tu passeras sur un autre appareil avec une résolution différente, ça ne marchera plus

Enlève le ScrollView, et passe en RelativeLayout en faisant comme te l'indiquais Lord Yu, c'est la meilleure façon de réussir à faire ce que tu veux de manière propre et portable

Lien vers le commentaire
Partager sur d’autres sites

Je confirme ce que dit chpil, passe tes valeurs en dp plutôt que px.

Ensuite le scrollview est bien pratique pour les petits écrans si tu as beaucoup d'infos à afficher donc si tu tiens vraiment vraiment à la garder, met le dans un RelativeLayout et sors en ton image si tu souhaites qu'elle reste fixe en bas lorsque tu scroll ton écran.

Lien vers le commentaire
Partager sur d’autres sites

px

Pixels - correspond au vrai "petit carré" de couleur

dp (dpi)

Density-independent Pixels - c'est une unité abstraite spécifique à Android basée sur la densité de ton écran. Ton écran est réparti en 160 dpi ce qui veut dire que 1dpi sera égal à un nombre de pixel différent en fonction de la taille de ton écran, c'est proportionnel. Avec cette unité tu garde un affichage uniforme.

Lien vers le commentaire
Partager sur d’autres sites

Par contre, comment faire pour mettre un scrollview à l'intérieur d'un relativelayout ?

Lorsque j'exécute ce que j'ai fait, j'ai un message qui apparaît disant que l'application s'est arrêtée de manière inexpliquée... :(

Lien vers le commentaire
Partager sur d’autres sites

Par contre, comment faire pour mettre un scrollview à l'intérieur d'un relativelayout ?

De la même façon que tu mets n'importe quelle autre type d'éléments dans un RelativeLayout

Lorsque j'exécute ce que j'ai fait, j'ai un message qui apparaît disant que l'application s'est arrêtée de manière inexpliquée... :(

Et quelle est l'erreur/la trace de l'exception qui se produit ?

Lien vers le commentaire
Partager sur d’autres sites

Je crois que c'est résolu, c'est parce que j'avais oublié de remettre un layout dans le scrollview donc il ne pouvait pas mettre un layout sur plusieurs éléments... :|

Edit : il y a du mieux. L'image est bien collée au bas de l'écran lorsqu'on tient le téléphone en mode "paysage". Mais il y a toujours un espace entre le bas de l'image et la bordure inférieure de l'écran si on le tient à la verticale !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...