Button horizontal anordnen OHNE XML

R

r4in

Ambitioniertes Mitglied
3
Hi Leute,

gibt es eine Möglichkeit, mehrere Button ohne XML Datei nebeneinander anzuordnen??

Habe eine dynamische Anzahl von Button, TextViews und EditViews, daher kann ich keine XML Datei benutzen, oder doch?? Gibt es da eine, ich sag mal Hybridlösung, wo man in der XML nur ein Layout reinpackt und der Rest der Element dynamisch per Code erstellt wird??

Danke schonmal im vorraus.

Grüße
 
naja du erstellst ein linearlayout und fügst die buttons da rein

dann sind sie ja horizontal angeordnet - wo liegt das problem ?
 
  • Danke
Reaktionen: r4in
Ja, bei der XML Version funzt das auch ohne Problem aber rein nur in der Java.class per Code will es nicht so richtig bei mir.

Hättest du evtl. ein Beispiel? Bei mir werden sie immer untereinander angeordnet, egal was ich schreibe. :confused:
 
ja dann zeig deinen code mal her.

linearlayout muss orientation="horizontal" haben

buttons dann layout_height und width = wrap_content

dann legen sie sich, sofern platz, nebeneinander
 
  • Danke
Reaktionen: r4in
Danke schonmal, bin Donnerstag erst wieder im Büro, werde dann nen Ausschnitt vom Quellcode posten.

Danke für die Hilfe
 
So, hier ein Teilausschnitt von meinem Code, ist wahrscheinlich ein ganz simpler Fehler aber ich komm irgendwie einfach nicht drauf. Die drei Button sollen nebeneinander stehen, werde aber immer nur untereinander aufgelistet.

Code:
ScrollView sv = new ScrollView(this);
sv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                            LayoutParams.FILL_PARENT));
sv.setBackgroundColor(Color.parseColor("#FFFFFF"));

LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.FILL_PARENT));
ll.setOrientation(LinearLayout.VERTICAL);


TextView U2 = new TextView(this);
ll.addView(U2);

Button B2 = new Button(this);

 B2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                                LayoutParams.WRAP_CONTENT));
 B2.setText(" + hinzufügen");
                        
Button B2clear = new Button(this);
B2clear.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                                LayoutParams.WRAP_CONTENT));
B2clear.setText(" - löschen");
                        
                        
                        
Button B2scan = new Button(this);
B2scan.setLayoutParams(new      LayoutParams(LayoutParams.WRAP_CONTENT,
                                LayoutParams.WRAP_CONTENT));
B2scan.setText(" scannen ");
                        

//Hier die Button sollen nebeneinander stehen und da ist irgendwo mein Denkfehler.                        


ll.setOrientation(LinearLayout.HORIZONTAL);
ll.addView(B2);
ll.addView(B2clear);
ll.addView(B2scan);
ll.setOrientation(LinearLayout.VERTICAL);
 
r4in schrieb:
Code:
LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.FILL_PARENT));
[SIZE="4"][B]ll.setOrientation(LinearLayout.VERTICAL);[/B][/SIZE]
...                    
[SIZE="4"][B]ll.setOrientation(LinearLayout.HORIZONTAL);[/B][/SIZE]
ll.addView(B2);
ll.addView(B2clear);
ll.addView(B2scan);
[SIZE="4"][B]ll.setOrientation(LinearLayout.VERTICAL);[/B][/SIZE]

kannst dich auch nicht entscheiden oder? ^^

regards
 
  • Danke
Reaktionen: r4in
also zwischen Vertical und Horziontal ist ja noch ein EditText, dass sollte ja auch wieder Vertikal angeordnet werden und nur die Button halt nebeneinander :)

Gedacht war es wie in der XML.

ll.setOrientation(LinearLayout.Vertical);
Text
Edit
Text
Edit
ll.setOrientation(LinearLayout.HORIZONTAL);
Button
Button
Button
ll.setOrientation(LinearLayout.Vertical);
Text
.
.
.
.

ich weiß nicht ob da der Denkfehler irgendwie ist, dass Problem ist das es in ner XML Version geht, ich aber da keine XML benutzen kann, da die Button etc. alles dynamisch erstellt wird.
 
Zuletzt bearbeitet:
Du benötigst dazu natürlich verschiedene LinearLayouts!

ll1.setOrientation(LinearLayout.Vertical);
ll1.addView(Text)
ll1.addView(Edit)
ll1.addView(Text)
ll1.addView(Edit)
ll2.setOrientation(LinearLayout.HORIZONTAL);
ll2.addView(Button)
ll2.addView(Button)
ll2.addView(Button)
ll3.setOrientation(LinearLayout.Vertical);
ll3.addView(Text)

dann jeweils die einzelnen layouts in ein "großes" layout packen:
ll_gesamt.addView(ll1);
ll_gesamt.addView(ll2);
ll_gesamt.addView(ll3);

Gruß
 
  • Danke
Reaktionen: r4in
Ahhhhhhhhhh, Computer sagt: "JA!!!"

vielen Dank IceClaw, dass hab ich irgendwie übersehen, dachte ich könnte einem Layout mehere Orientierungen geben.

Danke!!
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
313
swa00
swa00
MES
Antworten
10
Aufrufe
787
MES
MES
C
Antworten
8
Aufrufe
1.111
swa00
swa00
Zurück
Oben Unten