Quiero crear un cuadro de entrada con un botón de enviar a la derecha. Entre ellos deben abarcar el ancho de la pantalla. Actualmente tengo:LinearLayout lleno de derecha a izquierda
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);
Esto se traduce en la correcta distribución del espacio: El botón de enviar ocupando todo el espacio que necesita, el botón de entrada ocupando el espacio restante, sin embargo, son al revés (la el botón de enviar está a la izquierda, a pesar de establecer la gravedad). Si quito la gravedad e invierto el orden de agregar los elementos a la fila, el cuadro de entrada ocupará todo el ancho de la pantalla y el botón de enviar no estará visible. ¿Qué estoy haciendo mal?
Y sí, creo que no es una buena idea formar diseños desde el código. Haga esto solo si el diseño xml no es posible para su caso. –
Todavía soy relativamente nuevo en Android, y hasta ahora todo en este proyecto está basado en código. Usaré xml en proyectos futuros, pero por ahora tomaré la solución de código. – fredley