Je souhaite créer une zone de saisie avec un bouton d'envoi vers la droite. Entre eux, ils devraient couvrir la largeur de l'écran. Actuellement, j'ai:LinearLayout rempli de droite à gauche
LinearLayout row= new LinearLayout(context);
row.setOrientation(HORIZONTAL);
row.setGravity(Gravity.RIGHT);
EditText input = new EditText(context);
Button submit = new Button(context);
submit.setText("Submit");
row.addView(submit);
row.addView(input,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
myView.addView(row,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
Il en résulte la distribution correcte de l'espace: le bouton Submit prendre autant de place que nécessaire, le bouton d'entrée en prenant l'espace restant, ils sont cependant le tour le mauvais sens (la soumettre le bouton est sur la gauche, malgré le réglage de la gravité). Si j'enlève la gravité et inverse l'ordre d'ajout des éléments à la ligne, la boîte de saisie occupe toute la largeur de l'écran et le bouton de soumission n'est pas visible. Qu'est-ce que je fais mal?
Et oui, je pense que ce n'est pas une bonne idée de former des mises en page à partir du code. Donc, ne le faites que si la mise en page xml n'est absolument pas possible pour votre cas. –
Je suis encore relativement nouveau sur Android, et jusqu'ici tout dans ce projet est basé sur le code. Je vais utiliser xml dans de futurs projets, mais pour l'instant je vais prendre la solution de code. – fredley