Kronn Posté(e) 25 janvier 2013 Share Posté(e) 25 janvier 2013 Bonjour, Je suis débutant dans le développement android et j'aimerais avoir votre aide concernant un sujet. J'ai commencer à developper une petite application et je souhaiterais que quelque soit la resolution de l'ecran où elle est installé, les composants s'adapte. Comment faire? En effet j'ai développé de façon à que ce soit adapté à mon galaxy s3 (4.7 pouces). Cependant, quand on passe sur tablette ça reste la même taille et c'est horrible :S Mon code: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:id="@+id/button_ChooseTheme" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" android:drawableLeft="@drawable/noimage50" android:drawablePadding="10dp" android:textAlignment="2" android:textSize="@dimen/normal_text_size" /> <TextView android:id="@+id/textView_ShowValueLib" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button_ChooseTheme" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:text="@string/showValueLib" android:textSize="@dimen/initul_text_size" /> <EditText android:id="@+id/editText_ValueToConvert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView_ShowValueLib" android:layout_below="@+id/textView_ShowValueLib" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:digits="0123456789.," android:ellipsize="start" android:ems="10" android:gravity="center" android:inputType="numberDecimal" android:maxLines="1" /> <Button android:id="@+id/button_Init_Unit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button_Final_Unit" android:layout_alignBottom="@+id/button_Final_Unit" android:layout_toLeftOf="@+id/textView_ShowResultLib"/> <Button android:id="@+id/button_Transfert" android:background="@drawable/transfert" android:layout_width="wrap_content" android:layout_height="50dp" android:padding="4dp" android:layout_alignBaseline="@+id/button_Init_Unit" android:layout_alignBottom="@+id/button_Final_Unit" android:layout_centerHorizontal="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_toLeftOf="@+id/button_Final_Unit" android:layout_toRightOf="@+id/button_Init_Unit" /> <Button android:id="@+id/button_Final_Unit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText_ValueToConvert" android:layout_marginTop="31dp" android:layout_toRightOf="@+id/textView_ShowResultLib"/> <TextView android:id="@+id/textView_ShowResultLib" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button_Transfert" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:text="@string/resultLib" android:textSize="@dimen/initul_text_size" /> <TextView android:id="@+id/textView_ShowResult" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView_ShowResultLib" android:layout_centerHorizontal="true" android:layout_marginTop="5dp" android:text="0,0" android:textSize="@dimen/result_text_size" /> </RelativeLayout> Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 28 janvier 2013 Share Posté(e) 28 janvier 2013 Pour que tes composants s'adaptent à la taille/résolution des différents écrans, il faut leur dire. C'est ce que tu fais par exemple avec un 'android:layout_centerHorizontal="true"' qui fait que ton composant sera centré horizontalement, quelque soit la largeur de l'écran. De même avec 'android:layout_below' et autres 'android:layout_toLeftOf' dans un RelativeLayout, qui permet de positionner les composants relativement les uns par rapport aux autres, et non de manière absolue. De manière générale, il faut absolument éviter les valeurs absolues (par ex. 'android:layout_height="50dp"' ;) ) qui ne permettent pas aux composants de s'adapter aux différentes dispositions d'écrans. Tu peux aussi, pour des dispositions d'écran vraiment différentes (mode portrait et mode paysage) proposer des layouts alternatifs (une définition d'un écran pour le mode portrait, et une autre définition du même écran pour le mode paysage par ex.) de façon à adapter au mieux tes écrans. Je t'invite à consulter, si ce n'est déjà fait, la documentation Android sur le sujet du support multi-écrans Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kronn Posté(e) 29 janvier 2013 Auteur Share Posté(e) 29 janvier 2013 Merci beaucoup :D Je n'avais pas trouvé cette documentation ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.