Chcę utworzyć pole wprowadzania za pomocą przycisku przesyłania po prawej stronie. Pomiędzy nimi powinny rozciągać się na szerokość ekranu. Obecnie mam:LinearLayout wypełniony od prawej do lewej
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);
Wynika to w prawidłowym podziale przestrzeni: Przycisk submit objęciem tyle miejsca, ile potrzebuje, przycisk wejścia objęciem pozostałą przestrzeń, jednak są one źle odwrotnie (the przycisk przesyłania jest po lewej stronie, pomimo ustawienia siły grawitacji). Jeśli usunę grawitację i odwrócę kolejność dodawania elementów do wiersza, pole wprowadzania zajmuje całą szerokość ekranu, a przycisk przesyłania nie jest widoczny. Co ja robię źle?
I tak, myślę, że nie jest dobrym pomysłem tworzenie układów z kodu. Zrób to tylko wtedy, gdy układ xml jest absolutnie niemożliwy dla twojego przypadku. –
Nadal jestem względnie nowy na Androida i do tej pory wszystko w tym projekcie jest oparte na kodzie. Będę używał xml w przyszłych projektach, ale na razie wezmę rozwiązanie kodu. – fredley