Jump to content

compatibilité application "multiécran"


ant-1

Recommended Posts

Salut tout le monde!

Je suis en train de faire une application essentiellement pour téléphone et j'ai un problème de compatibilité suivant les écrans.

En fait ça passe bien pour les écrans à 160dp mais dès que j'essaie sur des écrans à 120dp j'ai une gridview contenant des icônes qui devient complètement foireuse. En gros ça fonctionne sur mon nexus s mais pas sur un htc wildfire.

C'est à dire que sur un écran à densité égale ou supérieur à 160dp, pas de problème, par contre en 120dp j'ai les cases de ma gridview qui sont beaucoup trop grandes et mon selector qui prend tout l'écran

J'ai bien dimensionné mes icônes en ldpi, mdpi et hdpi par contre je n'ai fait qu'un seul layout mais en faisant attention de ne pas utiliser des dimensions fixes (donc compatible avec tout écran si je ne me trompe pas?)

Voilà le code:

Ca devrait afficher ma gridview sur 2 colonnes sur la partie basse de l'écran et une image sur le haut centrée dans la place qui reste.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@android:color/white" >

   <GridView
	    android:id="@+id/gridview"
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:gravity="center"
	    android:numColumns="2"
	    android:verticalSpacing="10dp"
	    android:paddingBottom="10dp"
	    android:layout_alignParentBottom="true"
	    android:listSelector="@drawable/item_selector"/>
   <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/gridview"
    android:gravity="center"
    android:orientation="vertical" >
    <ImageView
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center"
	    android:background="@drawable/logo_se_green" />
   </LinearLayout>
</RelativeLayout>

Je vous remercie

Link to comment
Share on other sites

Ma réponse ne va pas forcément faire avancer le smilblick, car si effectivement tu utilises un layout portable et des drawables adaptés aux différentes densités, ça devrait marcher, c'est fait pour ça.

Tu peux peut⁻être regarder avec hierarchyviewer (un outil du SDK Android) qui permet d'afficher une vue arborescente des objets qui composent ton écran, en temps réel, et de voir leurs caractéristiques (dimensions, marge, etc...). Ca permettrait peut être de mettre le doigt sur ce qui coince

Link to comment
Share on other sites

Alors effectivement j'ai fait mes drawables en ldpi, mdpi et hdpi. Et suivant la résolution du téléphone, les drawables semblent bien s'afficher.

Par contre est ce que mon layout est réellement portable? Les cases de ma gridview "explosent" sur un écran d'une faible dimension.

C'est la raison pour laquelle j'ai joint mon code.

Je vais regarder ce que ça donne avec hierarchyviewer. Merci pour l'info

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...