agherschon Posted December 24, 2009 Share Posted December 24, 2009 Bonjour, je travaille sur ma première application Android. Le but est d'écouter une radio online précise. Je voudrais afficher un fond avec des éléments par dessus, à des endroits précis (titre de la chanson courante, nom du groupe, pochette de l'album de la chanson écoutée), et un bouton play/pause. Ça marche très bien en HVGA : Par contre sur un écran comme le HTC Tattoo, en QVGA, ça donne ça : Comme vous le voyez, les éléments sont à chaque fois un peu trop décalés vers le bas. Pas de problèmes en largeur par contre. Concernant la vue, j'utilise deux FrameLayout dans un AbsoluteLayout, c'est la manière que j'ai trouvé pour mixer le fait d'afficher des éléments sur un fond et préciser leurs positions exactes. Je n'utilise que des DIP comme unité, d'où ma totale incompréhension du problème. <?xml version="1.0" encoding="utf-8"?> android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/AbsoluteLayout"> android:layout_height="fill_parent" android:layout_x="0dip" android:layout_y="0dip" android:id="@+id/FrameLayoutBackground"> android:layout_width="fill_parent" android:id="@+id/oxyradio" android:layout_x="0dip" android:layout_y="2dip" android:background="@drawable/background" android:adjustViewBounds="true"> android:layout_height="fill_parent" android:layout_x="0dip" android:layout_y="0dip" android:id="@+id/FrameLayoutUI"> android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/AbsoluteLayoutUI"> android:layout_height="wrap_content" android:id="@+id/songTitle" android:text="Song Title" android:textColor="@color/titleSongColor" android:textStyle="bold" android:typeface="sans" android:textSize="17dip" android:layout_x="35dip" android:layout_y="58dip"> android:layout_height="wrap_content" android:id="@+id/groupName" android:layout_x="35dip" android:layout_y="85dip" android:text="Group Name" android:textColor="@color/groupNameColor" android:textStyle="bold" android:typeface="sans" android:textSize="17dip"> android:layout_height="wrap_content" android:id="@+id/coverView" android:adjustViewBounds="true" android:cropToPadding="true" android:maxHeight="150dip" android:maxWidth="150dip" android:minHeight="150dip" android:minWidth="150dip" android:layout_x="85dip" android:layout_y="163dip"> android:layout_height="wrap_content" android:id="@+id/PlayPauseButton" android:layout_x="128dip" android:layout_y="342dip" android:background="@drawable/play"> Merci d'avance pour votre aide ! Quote Link to comment Share on other sites More sharing options...
neoakira Posted December 25, 2009 Share Posted December 25, 2009 http://developer.android.com/intl/fr/guide/practices/screens_support.html si ton appli est pour android 1.5, il faut la compiler avec 1.6 pour supporter les "small screen" : dans AndroidManifest.xml : et dans default.properties : target=android-4 Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 25, 2009 Share Posted December 25, 2009 Cette page ci semble sympa aussi pour t'aider... L'exemple ressemble au tien.. http://developer.android.com/intl/fr/resources/samples/MultiResolution/index.html Quote Link to comment Share on other sites More sharing options...
popolbx Posted December 25, 2009 Share Posted December 25, 2009 d'ailleur ça explique pourquoi les images sont plsu en fausse 3D sur Android 2....la fausse 3D est pas étirable ^^) Quote Link to comment Share on other sites More sharing options...
Alocaly Posted December 27, 2009 Share Posted December 27, 2009 d'ailleur ça explique pourquoi les images sont plsu en fausse 3D sur Android 2....la fausse 3D est pas étirable ^^) ?? C'est quoi cette fausse 3D dont tu parles ? Quote Link to comment Share on other sites More sharing options...
popolbx Posted December 27, 2009 Share Posted December 27, 2009 les icônes en perspective. -- Posté depuis BBFoC Quote Link to comment Share on other sites More sharing options...
Cyril Mottier Posted December 27, 2009 Share Posted December 27, 2009 d'ailleur ça explique pourquoi les images sont plsu en fausse 3D sur Android 2....la fausse 3D est pas étirable ^^) Euh ça n'a rien à voir ... les icônes du menu, du homescreen, etc. n'ont jamais été étirables (concept de 9-patches). Pour gérer les densités différentes il faut utiliser les dossier ldpi, mdpi et hdpi. Quote Link to comment Share on other sites More sharing options...
popolbx Posted December 27, 2009 Share Posted December 27, 2009 justement si le homescreen etait 9patch, pas besoin de refaire 3 fois le boulot et de l alourdir. -- Posté depuis BBFoC Quote Link to comment Share on other sites More sharing options...
Alocaly Posted December 27, 2009 Share Posted December 27, 2009 les icônes en perspective. Ah d'accord !! Effectivement, je m'etais posé la question. Je me souviens d'un article de google qui indiquait comment faire leurs icones en perspective, avec l'angle qu'il fallait prendre, et tout plein de trucs bien compliqué... Pour que maintenant, ils fassent des betes icones 2D... Effectivement, ca peut etre a cause des resolutions d'ecran.... Quote Link to comment Share on other sites More sharing options...
popolbx Posted December 27, 2009 Share Posted December 27, 2009 enfin mon idée est un peu conne parce que les icones des applis sont pas 9patch. par contre si dans un futur proche on nous oblige à faire des 9patch...pensez à moi ;) Quote Link to comment Share on other sites More sharing options...
Cyril Mottier Posted December 29, 2009 Share Posted December 29, 2009 enfin mon idée est un peu conne parce que les icones des applis sont pas 9patch.par contre si dans un futur proche on nous oblige à faire des 9patch...pensez à moi ;) Une telle obligation limiterait énormément la création ... Le concept de 9-patchs est extrêmement puissant mais ne permet pas non plus de tout faire ^^ Quote Link to comment Share on other sites More sharing options...
Nivek Posted December 29, 2009 Share Posted December 29, 2009 C'est un peu HS par rapport au topic d'origine mais je pense surtout qu'ils sont revenus en arrière sur les icônes en perspective parceque 80% des développeurs n'étaient pas capables de créer une icône en suivant cette règle. Et par ailleurs, ça n'apportait pas forcément grand chose au look&feel... C'est bien joli d'imposer des règles de design encore faut-il qu'elles soient applicables. :lol: Quote Link to comment Share on other sites More sharing options...
Nivek Posted December 29, 2009 Share Posted December 29, 2009 Dans le sujet cette fois, l'impression du décallage vers le bas de tes éléments d'UI sont dûs au fait que la taille de ton image de fond est étirée pour remplir l'écran. Sur un écran plus petit, l'image de fond est compressée en hauteur, tandis que les boutons et libellés gardent bien eux leur positionnement en dip. Le fait que tu aies mis android:adjustViewBounds="true" ne change rien car : - l'attribut android:background qui porte ton image de fond est en fait l'attribut "background" commun à toutes les Views. - l'imageview que tu as déclarée n'est pas réellement utilisée en tant qu'ImageView, son attribut adjustViewBound serait appliqué par le système sur une image que tu aurais affectée via l'attribut android:src ou programmatiquement via setImage*() Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.