marble78 Posted May 9, 2012 Share Posted May 9, 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 Link to comment Share on other sites More sharing options...
chpil Posted May 9, 2012 Share Posted May 9, 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); Link to comment Share on other sites More sharing options...
morakevi Posted May 9, 2012 Share Posted May 9, 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 Link to comment Share on other sites More sharing options...
Benoît Posted May 21, 2012 Share Posted May 21, 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)); Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.