marble78 Posté(e) 9 mai 2012 Share Posté(e) 9 mai 2012 Bonjour, Pour une application que je code, je doit définir un layout en dehors d'un fichier layout XML. en fait il s'agit d'une Classe contenant un layout, un textView, un bouton.. que je duplique dans un tableau pour en afficher plusieurs à l'écran. Je suis donc obligé de le coder dans la source et je n'ai pas trouver comment appliquer un layout_weight dans la source, aussi surprenant que ca puisse paraitre la propriété android:weight n'a pas de méthodes associée. Si quelqu'un à une solution, peut-être définir un layout dans un WML et m'en servir comme modèle pour la création de mes ojets... Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 9 mai 2012 Share Posté(e) 9 mai 2012 De manière programmatique, un layout_weght ne se positionne pas sur un composant lui-même (c'est pour cela qu'il n'y a pas de méthode associée), mais sur un LayoutParams (un LinearLayout.LayoutParams plus exactement), layoutParams que tu associes ensuite à ton composant Sinon, il est aussi possible de charger un morceau de layout qui définirait tes composants, en passant par un LayoutInflater LayoutInflater inflater = getLayoutInflater(); View v = inflater.inflate(R.layout.id_de_mon_layout_modele, null); Lien vers le commentaire Partager sur d’autres sites More sharing options...
morakevi Posté(e) 9 mai 2012 Share Posté(e) 9 mai 2012 Pourquoi mettre dans un tableau. sous android, seule un tableau à une dimension est possible donc autant mettre une liste. et la tu pourra définir un layout pour les items de ta liste dans un fichier xml Lien vers le commentaire Partager sur d’autres sites More sharing options...
Benoît Posté(e) 21 mai 2012 Share Posté(e) 21 mai 2012 Il est possible d'inflater un fichier XML, mais il est tout à fait possible de définir le layout_weight en JAVA en utilisant la classe LinearLayout.LayoutParams ou TableLayout.LayoutParams : http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html http://developer.android.com/reference/android/widget/TableLayout.LayoutParams.html view .setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1f)); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.