| |||||||
Das Thema "Button in RelativeLayout Container mittig zentrieren (kein XML!)?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 04.08.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| ich habe erst vir kurzem damit begonnen für Android zu programmieren und stolpere deshalb noch über das ein oder andere Verständnisproblem. Ich will meine GUI zum Teil nicht auf Basis der XML Files erstellen sondern zur Laufzeit generieren. Als Container habe ich mir ein „RelativeLayout“ ausgesucht, da ich damit im XML Layout Editor die besten Erfahrungen gesammelt habe. Zu diesem RelativeLayout Container wollte ich dann eine je nach Anwendungssituation unterschiedliche Anzahl an Buttons (an unterschiedlichen Stellen) im RelativeLayout Container/View positionieren, aber mir will das nicht so recht gelingen... Die XML Parameter android:layout_centerVertical und android:layout_centerHorizontal würde ich gerne setzen bzw. eine vergleichbare Funktion nutzen, aber ich finde einfach keine?! Ähnliche Probleme habe bei der Positionierung eines Objekts an einer bestimmten XY Koordinate, sowie das Benutzen der relativen Breite des Containers (in diesem Fall besitzt er die absolut mögliche Breite des Displays) um z.B. einen Button über das gesamte Display zu strecken. Sind diese Dinge überhaupt möglich und wenn ja, wie? Wo liegt mein Denkfehler? Wenn man im Internet sucht findet man immer nur Lösungen über den XML weg. Der ist für mich aber ausgeschlossen, da ich vor dem starten des Programms noch nicht weiß wann und wie viele z.B. Buttons wo auf dem Display zu positionieren sind. Ich freue mich über jede Hilfe |
| | |
| | #2 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 03.07.2009
Beiträge: 89
Abgegebene Danke: 0
Erhielt 16 Danke für 3 Beiträge
| Code: RelativeLayout. LayoutParams p = relativeLayoutView.generateDefaultLayoutParams(); // oder komplett selbst: RelativeLayout. LayoutParams = new RelativeLayout.Params(); p.width = RelativeLayout.LayoutParams.WRAP_CONTENT; p.gravity = ... childView.setLayoutParams(p);
__________________ A World Of Photo - Casual Social Geo Multiplayer Game. Faszinierende Bilder von Flickr - als Widget. Autostarts managen. Geändert von miracle2k (05.08.2009 um 04:18 Uhr) |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 04.08.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Vielen Dank für den Hinweis -> habe nun auch eine Lösung gefunden. Code: //"this" ist eine Klasse die von der Klasse RelativeLayout erbt
this.startButton = new Button(this.getContext());
this.startButton.setText("Text");
RelativeLayout.LayoutParams tmpLp = (LayoutParams) this.generateDefaultLayoutParams();
tmpLp.addRule(RelativeLayout.CENTER_IN_PARENT);
tmpLp.width = RelativeLayout.LayoutParams.FILL_PARENT;
this.startButton.setLayoutParams(tmpLp); |
| | |
| | #4 (permalink) | |
| Android-Hilfe.de Mitglied Registriert seit: 03.07.2009
Beiträge: 89
Abgegebene Danke: 0
Erhielt 16 Danke für 3 Beiträge
| Zitat:
Komischerweise mache ich das selbe mit FrameLayout, wo es ohne Cast klappt - dort wird nämlich direkt auch ein FrameLayout.LayoutParams zurückgegeben. Vielleicht wurde da was übersehen.
__________________ A World Of Photo - Casual Social Geo Multiplayer Game. Faszinierende Bilder von Flickr - als Widget. Autostarts managen. | |
| | |
| | #5 (permalink) |
| Neuer Benutzer Registriert seit: 04.08.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hmm naja, so funktionierts ja erstmal. Ich hänge aber schon am nächsten Problem: Ich will ein Array von Strings an einen ArrayAdapter übergeben und diesen ArrayAdapter an einen Spinner anbinden. PHP-Code: Ich vermute das ich noch aa.setDropDownViewResource(resource) ausführen muss, aber ich habe keine id für die resource denn der Spinner und auch das String[] werden zur Laufzeit generiert und existieren in keinem XML File... Generell: Kann man passende XML Datensätze zur Laufzeit generieren? Irgendwie muss das doch auch ohne gehen, wie soll man sonst dynamische Inhalte programmiere deren GUI Elemente nicht vorraussagbar sind? |
| | |
| | #6 (permalink) |
| Neuer Benutzer Registriert seit: 04.08.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Okay, mein Posting war wohl etwas vorschnell. Habe eine Lösung gefunden auch wenn mich das Konzept immernoch etwas irritiert: PHP-Code: |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Kein Internet, Kein SMS Versand | p0ppi | Samsung Galaxy (I7500) Forum | 12 | 11.07.2009 20:39 |
| Bild zentrieren in xml Datei | Tai | Android App Entwicklung | 8 | 09.06.2009 13:13 |
| .com Button in .de umwandeln | dermattn | HTC Magic Forum | 0 | 19.05.2009 17:55 |
| Wlan oder GPS Button auf der startseite erstellen | purepoison | T-Mobile G1 Forum | 4 | 13.04.2009 01:13 |
| Langer Klick auf Button | Manfred | Android App Entwicklung | 0 | 18.02.2009 11:24 |