Bonjour je suis coincé sur eclipse j'ai creer un projet android et jai une appli sauf que la résolution ne s' adapte pas a l'écran mobile j'aimerais trouver comment faire
Merci d'avance
Bonjour je suis coincé sur eclipse j'ai creer un projet android et jai une appli sauf que la résolution ne s' adapte pas a l'écran mobile j'aimerais trouver comment faire
Merci d'avance
Il y a plusieurs solutions : soit tu définit des dimensions(en dp) dans des fichiers xml qui seront dans des dossiers values-sw600dp/values-300dp etc... et l'ordi ira te chercher automatiquement la valeur directement inférieur à ton écran
Soit tu récupère en java la dimension de l'écran en pixel puis tu divise cette valeur pour avoir la taille que tu veux (elle sera donc proportionnelle peu importe l'écran) et tu l'applique sur ta view directement en java.
Et peux tu m'expliquer comment faire ta deuxième proposition
si tu veux que ton textview fasse la moitié de l'écran en hauteur : hauteurtextview = hauteur / 2;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Display size = getWindowManager().getDefaultDisplay().getMetrics(new DisplayMetrics()); int largeur = metrics.widthPixels; int hauteur = metrics.heightPixels;
et ensuite tu fais textview.setHeight(hauteurtextview);
idem pour largeur
Ou sinon, tu fais directement une interface "fluide"... en utilisant systématiquement "match_parent" pour les layout englobants...
Je n'ai que très rarement eu besoin de spécifier des tailles en DP (sauf pour des boutons avec du texte dedans, et dans ce cas les tailles étaient en SP).
Peut tu me faire un mini tuto pour m'expliquer car je ne comprends pas trop merci
Par exemple... deux TextView qui prennent une moitié d'écran:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> </LinearLayout>
Les poids ça marche seulement pour les interfaces simple mais quand on veut faire des interfaces plus compliquées comme par exemple avec les canvas ou certains éléments peuvent se déplacer on est obligé d'utiliser les unités.
Mais c'est vrai que pour un accueil ou un menu les weight reste préférable.
Apparemment tu as une erreur dans ton fichier xml : regarde si tu as bien fermé toutes tes balises
et clean ton projet avant de relancer.
et j'ai également remarqué que tu avais plusieurs langues sur ton écran tu devrais plutôt stocker les traductions dans des fichiers xml c'est plus pratique et ça prend moins de place.
Oui mai regarde pas ca car c'est par rapport à un autre projet les erreurs
OK.... non ba dans ce cas la les weight ça me parait être le plus simple.
et pour la trad c'est toujours valable![]()
Ok merci pour tes conseilset donc qu'est ce que tu me propose avc les weith ??
tu rajoute un layout_weight pour chaque ligne : 1 pour ton image 1 pour chacune de tes lignes "play" et 1 pour ta phrase en bas. Après au niveau des valeurs je sais pas trop faut tester ça dépend ce que tu veux comme proportionnalité
Dac merci je vais tester par contre je ne trouve pas layout weight: ptdr:
Peut etre que si je t'envoie mon activity_main.xml tu pourras me dire où mettre quoi car je commence a etre perdu
ça dépend comment t'as structuré ta page.
En gros les poids ça sert a répartir les élément (button/textview/edittext ...) dans un layout
donc par exemple si à tes 2 buttons tu leur met android:layout_weight="1" les 2 boutons auront le même poids donc ils vont diviser le linearlayout en 2 et se mettre chacun d'un coté
après tu peux aussi assigner un poids aux layouts c'est le même principe
Tu devrais peut être lire le tuto et faire 2-3 test si tu n'y arrive pas.
Partager